javascript,从数组中删除相同的项
我在lightbox脚本中执行ajax调用,该脚本返回一个表单 加载表单时,我调用var initial=$'form'.serializeArray 提交表单时,我调用var final=$'form'.serializeArray 这给了我两个对象数组, 我现在要做的是比较数组中的每个对象,并删除那些没有更改的对象javascript,从数组中删除相同的项,javascript,object,serializearray,Javascript,Object,Serializearray,我在lightbox脚本中执行ajax调用,该脚本返回一个表单 加载表单时,我调用var initial=$'form'.serializeArray 提交表单时,我调用var final=$'form'.serializeArray 这给了我两个对象数组, 我现在要做的是比较数组中的每个对象,并删除那些没有更改的对象 我该怎么做?我假设两个数组的长度相等,并且元素在两个数组中的顺序相同。在本例中,您需要做的是查看第一个数组的每个元素,并将其与第二个数组的相应元素进行比较;如果匹配,则从两个数组
我该怎么做?我假设两个数组的长度相等,并且元素在两个数组中的顺序相同。在本例中,您需要做的是查看第一个数组的每个元素,并将其与第二个数组的相应元素进行比较;如果匹配,则从两个数组中删除该位置的元素 虽然我还没有测试过,但类似的功能应该可以工作:
var i = 0;
while (i < initial.length) {
if(initial[i] == final[i]) {
initial.splice(i,1);
final.splice(i,1);
}
else {
i++;
}
}
我认为这是最快的方法
var len = initial.length, i=0, changed=[];
/* I hope initial.length==final.length*/
for(i; i<len; i++){
/* 0== '' */
if (initial[i]===final[i])
changed[i] = final[i];
}
//现在玩
改变
我对这个问题感到困惑
splice是否对索引重新排序
splice是否对索引重新排序?i、 e如果第3项相同,我会以[object,object,undefined,object]或[object,object,object]结束吗?如果没有指定其他元素,拼接将有效地从数组中删除元素请参见