【发布时间】:2015-03-18 02:54:05
【问题描述】:
我有两个数组需要检查差异并返回差异的索引。
例如,我目前有两个数组,当输入值更改时会更新它们。只要输入中有新标签,newTags 数组就会更新,例如@testing。我需要将newTags 数组与oldTags 数组进行比较,并返回差异的索引。
我目前正在对两个数组进行字符串化并以这种方式比较它们,尽管它无法返回差异的索引。
var newTags = [];
var oldTags = [];
$input.on('keyup', function () {
var newValue = $input.val();
var pattern = /@[a-zA-Z]+/ig;
var valueSearch = newValue.search(pattern);
if (valueSearch >= 0) {
newTags = newValue.match(pattern);
if ((newTags + "") != (oldTags + "")) {
//Need index of difference here
console.log(newTags, oldTags);
}
oldTags = newTags;
}
});
【问题讨论】:
-
只在数组中搜索一个值?或搜索一个值,它与另一个数组的索引相同?
-
@floor - 例如,newTags 可以是
["@testing", "@hello"],oldTags 可以是["@test", "@hello"]。因此,差异的索引为 0,因为数组中的第一个值不同。 -
这让我更加困惑。
-
@floor - 哈哈哈,这可能是我的错。我要做的就是将
newTags与oldTags进行比较,然后返回差值数组中的位置。 -
现在想想,一个简单的
$.each循环可能是最好的解决方案...
标签: javascript jquery arrays compare