2016-12-16 72 views
-2

對不起,但我開始編碼,我有這個問題,我卡住了,如果你可以給一些幫助將是偉大的。 所以問題是我有兩個數組變量。 喜歡這個: Var names1 = [ Rui, Jose, Carlos, 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

非常感謝你的回答,但如果我改變這種方式,我只能放一個字符串,否則他們將全部打印在同一行, – Ocirederf

+0

任何方式來打印他們在不同的行,如原一?? – Ocirederf

+0

我編輯了我的答案^ –