删除Javascript中的属性
这个问题在这里已经有了答案:
您可以使用删除将其删除
delete b[0].color
如果您正在使用.push({})
并推送对象字面值并且没有以任何其他方式引用这些对象,则只需使用map:
b = b.map(function(obj) {
return {data: obj.data, width: obj.width};
});
如果你碰巧有参考,那么我真正想到的唯一方法就是使用delete
关键字,即使我不推荐它:
for(var obj of b) {
delete obj.color;
}
你可以编写一个函数来查找他们有属性的所有对象,并且该属性具有你想要删除的目标值。
该程序是不言自明的。 如果您缺少某个概念,请添加评论。
/* Redirect console output to HTML. */ document.body.innerHTML = '';
console.log=function(){document.body.innerHTML+=[].slice.apply(arguments).join(' ')+'n';};
var b = [{
data: 'Red',
width: 1,
color: '#FF0000'
}, {
data: 'Blue',
width : 1,
color: '#00FF00'
}, {
data: 'Green',
width: 1,
color: '#0000FF'
}];
function removeProperty(items, key, value, propToRemove) {
items.forEach(function(item) {
if (item != null && item[key] === value) {
delete item[propToRemove];
}
});
}
// delete the 'color' property of the provided data matches.
removeProperty(b, 'data', 'Blue', 'color');
console.log(JSON.stringify(b, null, ' '));
body { font-family: monospace; white-space: pre; font-size: 11px; }
链接地址: http://www.djcxy.com/p/4667.html
上一篇: Remove property in Javascript
下一篇: How to delete/unset the properties of a javascript object?