删除Javascript中的属性

这个问题在这里已经有了答案:

  • 我如何从JavaScript对象中移除一个属性? 33个答案

  • 您可以使用删除将其删除

    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?