【发布时间】:2018-05-11 18:32:53
【问题描述】:
我有一个字符串,我想用我的数组值替换整数(数字),以便按照对应顺序排列,字符串可以有不同的数学符号,具体取决于用户如何捕获数据。我可以有一个字符串和一个数组,例如:
var myArray = [
"John",
"London",
"March",
"Year 2017",
"My Age",
"We will meet",
"Next year",
"Year end"];
var testString = "234 == 123 AND 346 == 378 OR 123 >= 236 AND 124 != 478";
我希望结果是这样的字符串:
"John == London AND March == Year 2017 OR My Age >= We will meet AND Next year != Year end"
查看下面的代码并帮助解决我哪里出错了。
var myArray = ["John", "London", "March", "Year 2017", "My Age", "We will meet", "Next year", "Year end"];
var testString = "234 == 123 AND 346 == 378 OR 123 >= 236 AND 124 != 478";
var partsA = testString.split(" AND ");
console.log("A:", partsA);
var partsB = [];
var newString = "";
$.each(partsA, function(k, v) {
partsB = v.split(" == ");
console.log("B-1:", partsB);
if (!isNaN(partsB[0])) {
partsB[0] = myArray[parseInt(partsB[0])];
}
if (!isNaN(partsB[1])) {
partsB[1] = myArray[parseInt(partsB[1])];
}
console.log("B-2:", partsB);
partsA[k] = partsB.join(" == ");
});
newString = partsA.join(" AND ");
console.log("S:", newString);
$("#newstring").text(newString);
【问题讨论】:
-
你现在的代码到底有什么问题?错误信息?输出错误? console.log 调用打印什么,您希望它们打印什么?
-
@JJJ 输出如下 == AND == OR >= AND !=
-
你能格式化你的代码吗?现在几乎不可能阅读!
-
@gurvinder372 编辑了代码
-
预期输出是什么?这些数字是多少?!
标签: javascript jquery arrays string loops