2017-05-27 96 views
-1

我有任務根據另一個數組的值來改變數組的直接值。例如,我有下面的代碼:通過另一個數組的值更改數組元素的直接值

var elements = [1, 1, 1, 2, 4, 1]; 
var elements2 = [2, 4]; 
var titles = ['apple', 'beer', banana', potato', 'pear', 'pineapple']; 

所以我需要改變值自動對焦冠軍是序號爲2和4。當你看到有elements2。它這個變體有數組的值AR「香蕉'和'梨'。 另外Ш需要說var元素2var元素組成。它採用所有比1更大的元素(來自元素)。我只想告訴你,數組元素是動態更改的,數組元素2也發生了變化。 我嘗試使用map()函數,但我不能正確地(形成呢?所以,我unworking地圖():

var changedTitles = titles.map(function(el, i) { 
    if (i === elements2[i]) { 
     return "need to hange" + el; 
    } 
}); 

謝謝大家幫忙

+2

你到目前爲止試過了什麼? –

+0

向我們展示您的努力,您嘗試過,以便人們可以幫助您 –

+0

改變他們如何?預期的結果是什麼?你的問題解釋不是很清楚 – charlietfl

回答

0

更改地圖功能使用Array#indexOf()看是否elements2陣列中存在的每個標題索引。

您還需要一個returnelse條件

var elements2 = [2, 4]; 
 
var titles = ['apple', 'beer', 'banana', 'potato', 'pear', 'pineapple']; 
 

 

 
var changedTitles = titles.map(function(el, i) { 
 
    if (elements2.indexOf(i) > -1) { 
 
     return "need to change " + el; 
 
    }else{ 
 
     return el; 
 
    } 
 
}); 
 

 
console.log(changedTitles)

+0

哦,謝謝!與地圖偉大的變種!你能給一點解釋什麼意思'elements2.indexOf(i)> -1'? –

+0

閱讀我提供的'indexOf()'文檔鏈接 – charlietfl

相關問題