2016-12-16 7 views
-2

申し訳ありませんが、私はこの問題を抱えています。 問題は、配列に2つの変数があることです。 このように: Var names1 = [ Rui、 Jose、 カルロス、 Miguel];配列内で一致する要素を変更する方法

ヴァール名2 = [ ルイ、 ティアゴ、 ホセ、 カルロス、 ホジェリオ]

そして、私はnames2とnames1に一致する名前を見つけ、そして唯一のnames2でそれらを変更する必要があるが、他の操作を行います私の選択のランダムな名前。私は

For (var I = 0; I < names1.length ; i++); 
For (var j = 0; j < names2.length ; j++); 
If (names1[i] = names2[j]){ 

私が何をすべきか見当がつかない次の部分をやってそれらを見つけるために 。 私はそれらを削除してから追加します。 しかし、私はそれが最良のソリューションだとは思わない。 お手伝いできますか?

+2

あなたはどの言語を使用していますか? JavaScript? – jwodder

+0

私はJavaScriptを使用しています – Ocirederf

答えて

1

希望すると便利です。 基本的には、両方の配列を調べ、それらをすべてのインデックスで比較します。 一致するものがある場合は、names2要素の名前を変更します。

var names1 = ["Rui", "Jose", "Carlos", "Miguel"]; 
 

 
var names2 = ["Rui", "Tiago", "Jose", "Carlos", "Rogerio"]; 
 

 
var randomNames = ["Bob", "Goerge", "Maria", "Carrie"]; 
 

 
for (var i = 0; i < names1.length; i++) { 
 
    for (var j = 0; j < names2.length; j++) { 
 
    
 
    if (names1[i] == names2[j]) { 
 
     var random = Math.floor(Math.random() * randomNames.length); 
 
     names2[j] = randomNames[random]; 
 
     
 
    } 
 
    
 
    } 
 
} 
 

 
console.log(names2);

**だから私はそれがrandomNames配列からランダムなものと重複した名前を置き換える機能を追加しました。 **

+0

答えをありがとうございますが、私はそれを変更すると、私は1つの文字列を入れることができますか、そうでなければ、それらはすべて同じ行に印刷されます – Ocirederf

+0

元のように1?? – Ocirederf

+0

私は自分の答えを編集^ –

関連する問題