Javascript循环字符串比较头痛
javascript loop string comparison headache
console.log(previousCompetitors);
console.log(competitors);
if(data.isVisible) {
var moveIndexTo = [];
for(var q=0; q<competitors.length;q++) {
moveIndexTo.push(-1);
}
for(var i = 0; i<competitors.length; i++) {
for(var j = 0; j<previousCompetitors.length; j++) {
console.log(competitors[i].name);
console.log(previousCompetitors[j].name);
if(competitors[i].name === previousCompetitors[j].name) {
moveIndexTo[j]= i;
break;
}
}
}
console.log(moveIndexTo);
}
我正在慢慢地发疯,试图弄清楚这里发生了什么。我有一个按顺序更新的竞争对手数据数组。它们都是数组,我想跟踪之前排序的变化。
我console.log数据,可以看到数据顺序已经改变,但每次moveIndexTo数组最终都是[0,1,2,3,4,5],这意味着先前的竞争者和竞争者具有相同的顺序。当我在代码块的顶部console.log它们到执行字符串比较时,它们如何改变?
竞争者和以前的竞争者大致采用
的形式[{名称:"name1"},{名称:"name2"},{名称:"name3"},{名称:"name4"},{名称:"name5"},{名称:"name6"}]
,在每个对象中有更多的内容。如果这是previousCompetitors那么竞争者就应该是
[{名称:"name6"},{名称:"name2"},{名称:"name3"},{名称:"name4"},{名称:"name5"},{名称:' name1 '})。
注意name1和nam6的切换。所以我希望moveIndexTo是[5,1,2,3,4,0]
试试这个:moveIndexTo[i] = j;
浏览:https://jsfiddle.net/c9mbbpjj/
相关文章:
- 如何使用 JavaScript 比较字符串变量
- 替换函数后的Javascript比较字符串不起作用
- 如何比较字符串是javascript
- 比较字符串,如果存在小的拼写错误,则返回 true
- Javascript - 比较字符串环境
- 如何在忽略特殊字符的 javascript 中比较字符串
- 比较字符串中的单词
- 在 javascript 中比较字符串与日期时间的问题
- 比较字符串以查找缺少的子字符串
- 比较字符串是否以符号 @ jquery 或 javascript 开头
- 如何在 Javascript 中比较字符串数组
- 从提示返回的Javascript比较字符串
- 比较字符串的准确性(包括偏移)
- 在比较字符串的字符后创建新数组&大堆
- 在键入时比较字符串
- 如何在JavaScript中比较字符串
- javascript比较字符串(用于日期目的)
- JQuery比较字符串时出错
- Jquery比较字符串在POST中不起作用
- JS比较字符串和换行符