Javascript 从数组中删除对象
我有一个具有以下结构的数组:Javascript 从数组中删除对象,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个具有以下结构的数组: var y = [{id:12,count:10}, {id:23,count:89}, {id:21,count:100},] 如何删除id为23的元素 我不愿意在array.prototype.remove上使用创建原型方法 有什么建议吗 谢谢ES5代码: y = y.filter(function( obj ) { return obj.id !== 23; }); 所有主流浏览器都广泛支持ES5。不过,您可能希望在其中的一个页面上添加一些垫片,以
var y = [{id:12,count:10}, {id:23,count:89}, {id:21,count:100},]
如何删除id为23的元素
我不愿意在array.prototype.remove上使用创建原型方法
有什么建议吗
谢谢ES5代码:
y = y.filter(function( obj ) {
return obj.id !== 23;
});
所有主流浏览器都广泛支持ES5。不过,您可能希望在其中的一个页面上添加一些垫片,以备份旧式浏览器ES5代码:
y = y.filter(function( obj ) {
return obj.id !== 23;
});
所有主流浏览器都广泛支持ES5。尽管如此,您可能希望在其中添加一些垫片来备份老式浏览器Denis Ermolin的答案是一个选项,尽管可能会出现一些问题,但我建议如下:
for(var i=0;i<y.length;i++)
{
if (y[i].hasOwnProperty('id') && y[i].id === 23)
{
delete(y[i]);
break;
}
}
for(var i=0;iDenis Ermolin的答案是一个选项,尽管可能会出现一些问题,但我建议如下:
for(var i=0;i<y.length;i++)
{
if (y[i].hasOwnProperty('id') && y[i].id === 23)
{
delete(y[i]);
break;
}
}
for(var i=0;i的可能重复和可能重复,如果可能存在两个具有匹配id的元素,则这可能会失败(如果它们是按顺序重复的),如果只有一个,那么if块中应该有一个break
rty数组对象的名称。@DenisErmolin:你是基于什么理由提出这一主张的?很好的问题。这是错误的。当然,任何浏览器都会列出对象属性。简单示例:var foo=[1,2,3];foo.IAMBOSSBITCH=true;
在此循环…如果可能存在两个具有匹配id的元素,则此操作可能会失败(如果它们按顺序重复),如果只有一个,那么if块中应该有一个break
rty数组对象的名称。@DenisErmolin:你是基于什么理由提出这一主张的?这是一个很好的问题。这是错误的。当然,任何浏览器都会列出对象属性。简单的例子:var foo=[1,2,3];foo.IAMBOSSBITCH=true;
。。。