在使用JQuery在页面上显示结果后,我正在尝试替换动态Feed中的链接。
基本上,我们的想法是寻找ARRAY1的值,并用相同的ARRAY2索引值替换它们。例如:
ARRAY1 = ['hello','how','are','you'];
ARRAY2 = ['hi' , 'I' ,'am' ,'ok'];
因此,如果循环找到VALUE'hello',则将其替换为'hi',如果它找到'how',则将其替换为'I'......等等。
答案 0 :(得分:1)
您只需对数组中的每个项目使用replace
即可。
var arr1 = ['hello','how','are','you'];
var arr2 = ['hi' , 'I' ,'am' ,'ok'];
var str = "hello, my friend. how are you doing? Let me say it again: hello, hello, hello";
for (var i = 0; i < arr1.length; i++)
{
while (str.indexOf(arr1[i]) > -1)
str = str.replace(arr1[i], arr2[i]);
}
document.body.innerText = str;
答案 1 :(得分:1)
尝试类似
的内容var result = ARRAY1.map(function (dt, i) {
return ARRAY2[i]
});
这样,如果array2和array1的长度不同,你就不用担心了。 :)
答案 2 :(得分:0)
对于循环中的每个word
:
var index = ARRAY1.indexOf(word);
if (index >= 0) {
word = ARRAY2[index];
}
缓存indexOf
的结果可能有助于提高效率,具体取决于您的输入规模。
答案 3 :(得分:0)
ARRAY1 = ['hello','how','are','you'];
ARRAY2 = ['hi' , 'I' ,'am' ,'ok'];
value = 'hello';
if(ARRAY2[ARRAY1.indexOf(value)]>-1){
console.log(ARRAY2[ARRAY1.indexOf(value)]);
}
答案 4 :(得分:0)
如果要替换所有
,请尝试此操作for(var i = 0; i< ARRAY2.lenght; i++){
ARRAY1[i] = ARRAY2[i];
//or
ARRAY2[i] = ARRAY1[i];
}
答案 5 :(得分:0)
试试这个。
var ARRAY1 = ['hello','how','are','you'];
var ARRAY2 = ['hi' , 'I' ,'am' ,'ok'];
var replaceValue = function(wordToReplace){
var index = ARRAY1.indexOf(wordToReplace);
ARRAY1[index] = ARRAY2[index];
}
replaceValue("hello");