Javascript 如何删除对象数组中的对象:jquery?
我很困惑,我试图使用Javascript 如何删除对象数组中的对象:jquery?,javascript,jquery,arrays,Javascript,Jquery,Arrays,我很困惑,我试图使用jquery删除对象数组中的对象这是我的代码 我试图告诉if条件以删除带有v.name='x'的对象但是我得到了这个erroruncaughttypeerror:Object#没有方法“splice” 更新在splice()之后,我需要像这样的东西:y.info=[{name:'x',age:58},{name:'y',age:15}] 知道我做错了什么吗谢谢如果您只是试图删除包含值{name:'x'}的内部数组元素,那么要拼接的数组就是外部循环的值。info: $.eac
jquery
删除对象数组中的对象这是我的代码
我试图告诉if
条件以删除带有v.name
='x'的对象但是我得到了这个error
uncaughttypeerror:Object#没有方法“splice”
更新在splice()之后,我需要像这样的东西:y.info=[{name:'x',age:58},{name:'y',age:15}]
知道我做错了什么吗谢谢如果您只是试图删除包含值{name:'x'}
的内部数组元素,那么要拼接的数组就是外部循环的值。info
:
$.each(x, function(index, value) {
$.each(value.info, function(i, v) {
if (v.name === 'x') {
value.info.splice(i, 1) ;
}
});
});
但是,这段代码存在一个问题,即在使用$对数组进行迭代时,不应修改数组的长度。此备用代码修复了该问题:
$.each(x, function(index, value) {
var info = value.info;
for (var i = 0; i < info.length; ) {
if (info[i].name === 'x') {
info.splice(i, 1);
} else {
++i;
}
}
});
$。每个(x,函数(索引,值){
var info=value.info;
对于(变量i=0;i
如果您只是试图删除包含值{name:'x'}
的内部数组元素,则要拼接的数组是外部循环的值。信息
:
$.each(x, function(index, value) {
$.each(value.info, function(i, v) {
if (v.name === 'x') {
value.info.splice(i, 1) ;
}
});
});
但是,这段代码存在一个问题,即在使用$对数组进行迭代时,不应修改数组的长度。此备用代码修复了该问题:
$.each(x, function(index, value) {
var info = value.info;
for (var i = 0; i < info.length; ) {
if (info[i].name === 'x') {
info.splice(i, 1);
} else {
++i;
}
}
});
$。每个(x,函数(索引,值){
var info=value.info;
对于(变量i=0;i
将其更改为x.splice
-这是数组元素。您只是想从y.info
中删除该对象,即离开{name:y,age:15}
,还是想从数组x
中删除整个对象y
?不要离开{name:y,age:15}
将其更改为x.splice
-这是数组元素。您只是想从y.info
中删除该对象,即离开{name:y,age:15}
,还是想从数组x
中删除整个对象y
?不要离开{name:y,age:15}
我尝试了你的答案,它给了我这个错误未捕获类型错误:无法读取未定义的属性“name”
不知道为什么@minagariel,因为在下一次迭代中拼接数组后,该索引处没有对象或name属性。我不明白?我们从x.info
中删除了{name:'x',age:58}
我现在应该有y.info=[{name:'y',age:15}]
我甚至没有数组x
@minagabrieel你有一个数组x
。但是,这段代码仍然不起作用,因为它在迭代过程中修改了数组。我尝试了你的答案,它给了我这个错误Uncaught TypeError:无法读取未定义的属性“name”
不知道为什么@minagariel,因为在下一次迭代中拼接数组后,该索引处没有对象或name属性。i你不明白吗?我们从x.info
中删除了{name:'x',age:58}
我现在应该有y.info=[{name:'y',age:15}]
我甚至没有数组x
@minagabrieel你有一个数组x
。但是,这段代码仍然不起作用,因为它会在迭代数组时修改数组。