2017-05-27 8 views
-1

別の配列の値に従って配列の直接値を変更するタスクがあります。例えば、私は次のコードを持っている:他の配列の値を介して配列要素の直接値を変更する

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

だから私は値を変更する必要がありますが、アレイelements2 .ITバナナ」ARがこのバリアントの値がある見たようなインデックス2と4とタイトルからAF 'と'梨 '。 また、のvar要素2は、var要素から形成されている必要があります。 1より大きいすべての要素(要素から)を取ります。配列の要素が動的に変更され、配列の要素2も変更されたことを伝えたいだけです。

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

が助け

+2

これまでに試したことはありますか? –

+0

人々があなたを助けることを試みたあなたの努力を私達に示しなさい –

+0

それらをいかに変更しなさいか。期待される結果は何ですか?あなたの問題の説明はあまり明確ではありません – charlietfl

答えて

0

ありがとうございArray#indexOf()を使用するように、マップ機能を変更します。だから、私のunworkingマップは() 私はマップ()関数を使用しようとするが、私は正確に(それを形成することはできません各タイトルインデックスがelements2配列に存在するかどうかを確認する。

またelse条件

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)
ため returnが必要

+0

ああ、ありがとう!地図の素晴らしい変種! 'elements2.indexOf(i)> -1'の意味を少し説明できますか? –

+0

私が提供した 'indexOf()'ドキュメントのリンクを読む – charlietfl

関連する問題