Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript只解析数组的最后一个元素_Javascript - Fatal编程技术网

Javascript只解析数组的最后一个元素

Javascript只解析数组的最后一个元素,javascript,Javascript,str.replace仅在数组的最后一个元素中起作用时出现问题 以下是阵列: [“奥马尔”、“卡尔顿”、“裁判”] 这是我的javascript函数 函数表情符号(数据){ //控制台日志(数据); $(“.message content”).each(函数(){ var elem=$(本); var str=elem.html(); //var res=str.replace(“:嘿,”); 对于(变量i=0;i

str.replace仅在数组的最后一个元素中起作用时出现问题 以下是阵列:

[“奥马尔”、“卡尔顿”、“裁判”]

这是我的javascript函数

函数表情符号(数据){
//控制台日志(数据);
$(“.message content”).each(函数(){
var elem=$(本);
var str=elem.html();
//var res=str.replace(“:嘿,”);
对于(变量i=0;i}
您遇到的问题是在原始字符串上重复替换,而不是在已更改的字符串上重复替换,这就是为什么只有最后一次迭代才是设置的迭代

你可以这样改变它

var str = elem.html();
for(var i = 0;i < data.length; i++){
    str = str.replace(":"+data[i], '<img draggable="false" title="Added using the WLA Poor Mans Nitro" class="emoji jumboable" alt="emoji" src="https://discordchat.com/api/'+data[i]+'.png" />');
}
// and set it only once
elem.html(res);
var str=elem.html();
对于(变量i=0;i
您遇到的问题是在原始字符串上重复替换,而不是在已更改的字符串上重复替换,这就是为什么只有最后一次迭代才是设置的迭代

你可以这样改变它

var str = elem.html();
for(var i = 0;i < data.length; i++){
    str = str.replace(":"+data[i], '<img draggable="false" title="Added using the WLA Poor Mans Nitro" class="emoji jumboable" alt="emoji" src="https://discordchat.com/api/'+data[i]+'.png" />');
}
// and set it only once
elem.html(res);
var str=elem.html();
对于(变量i=0;i
更改

elem.html(res);

如果多次运行此操作(如.click()),您将希望将
elem.empty()
放在
的前面。each()

更改

elem.html(res);


如果多次运行此操作(如.click()),您将希望将
elem.empty()
放在
之前。each()

更新了代码段,但粘贴过程中出现了一个错误。请不要忘了,因为您的接受率为零,尽管您已经询问了超过15个答案支持该代码段,粘贴时出现了一个错误。别忘了,因为你的接受率为零,尽管你已经问了超过15个以上的问题。这是一种耻辱。非常感谢,问题解决了。这是一种耻辱。非常感谢,问题解决了从我所看到的,他可能有一个类似html的
:amao:carlton:justing
(看到他预装了元素html内容)并且只想替换单个元素中的does字符串从我所看到的,他可能有一个类似html的
:amao:carlton:justing
(看到他预装了元素html内容)并且只想替换单个元素中的dos字符串