Javascript字符串替换在循环内不起作用
Javascript string replace not working inside loop
字符串替换在javascript中不起作用
我的字符串 ="购买超过 1200 卢比的 T 恤可享受 50% 的折扣";
输出字符串 = '买三通时立减 50% 的折扣高于卢比-1200';
这是我的JS代码。
var json, xhr = new XMLHttpRequest();
xhr.open("GET","http://www.exmaple.com/api/v1.0/deal/deallimit/6/61f4279fb0cb4d4899810bef06539d06e349",true);
xhr.onload=function() {
var response=xhr.responseText;
var resultValue = JSON.parse(response);
var dealArray = resultValue['All deals'];
console.log(dealArray.length);
var i;
for (i = 0; i < dealArray.length; i++)
{
var key1 = 749;
var key2 = 29;
var orgProID = (dealArray[i]['productid']+dealArray[i]['productkey'])/key2;
var cat = dealArray[i]['categoryname'].toLowerCase();
var catReplace = cat.replace(" ","-");
var pro1 = dealArray[i]['productname'].toLowerCase();
var proReplace = pro1.replace('%','-percent');
var proReplace1 = proReplace.replace(" ","-");
console.log(catReplace+"/"+proReplace1);
if (dealArray[i]['price'] !=0) {
document.getElementById('appendDeals').innerHTML +="<tr><td class='dealName'>"+dealArray[i]['productname']+ " @ Rs."+dealArray[i]['price']+"</td><td class='buyDeal'>BUY</td></tr>";
}
else{
document.getElementById('appendDeals').innerHTML +="<tr><td class='dealName'>"+dealArray[i]['productname']+"</td><td class='buyDeal'>BUY</td></tr>";
}
}
}
xhr.send(null);
但是当我签入控制台日志时,我发现
get-upto 50-percent off on health & personal care products
所有位置均未替换为"-"
如何做到这一点。
您的代码不起作用,因为.replace()
不会在字符串中全局进行替换。您需要设置 g
标志以使其全局工作。
按照以下简单算法根据需要转换字符串:
- 使整个字符串
.toLowerCase()
-
.replace()
%
与-percent
-
.replace()
空间与-
, 全球
工作代码片段:
var myString = 'Get Flat 50% off on Tees Purchase above Rs. 1200';
// apply the algorithm here:
var outputString = myString.toLowerCase().replace('%', '-percent').replace(/ /g,"-");
alert(outputString);
阅读: .replace()
|.toLowerCase()
|多核
您需要在
全局意义上使用replace
,例如
var proReplace = pro1.replace(/%/g,'-percent');
var proReplace1 = proReplace.replace(/ /g,'-');
看看 JavaScript Replace。
proReplace.replace(" ","-"); 仅适用于子字符串的第一次出现。看看这里 在一个替换调用中替换多个字符
相关文章:
- 我的javascript for循环不起作用
- javascript for循环不起作用
- 循环通过数组的If语句不起作用
- 为什么我的While循环不起作用
- JS(node.js)而循环不起作用
- 来自MDN的循环示例的JavaScript不起作用
- Mustache.js每个循环都不起作用
- for循环中的jquery.load()不起作用
- For循环与数组不起作用
- JavaScript For循环与For in不起作用
- 为什么我所有的循环都不起作用
- JavaScript 数组/循环不起作用
- Javascript if-else循环不起作用
- 循环浏览页面上所有选中的复选框并将id拉入数组不起作用
- JavaScript的循环问题,将值插入数组将不起作用
- Javascript getElementsByName在PHP循环中不起作用
- Javascript循环数组无限不起作用
- 如果循环停止并且不起作用
- if-else循环和jquery在热应用程序或冷应用程序中不起作用
- 循环变量的Javascript不起作用