仅显示来自javascript对象的对象属性

时间:2015-11-24 16:59:40

标签: javascript c# visual-studio

我有一个从c#类库返回的javascript对象。对象是简单的名称 - 值对列表。

我正在使用

for (var myList in myListItems) {
  console.log(myList);
  console.log(myListItems[myList]);
}

检索列表中的所有项目,但在我的项目旁边,我得到了一堆.toString方法和其他一些方法,可能是继承自某些东西。

有没有办法删除所有这些方法,只获取我需要的数据?

2 个答案:

答案 0 :(得分:1)

最简单的方法是使用特殊的JS函数Object.prototype.hasOwnProperty()

var buz = {
  fog: 'stack'
};

for (var name in buz) {
  if (buz.hasOwnProperty(name)) {
    console.log('this is fog (' + name + ') for sure. Value: ' + buz[name]);
  }
  else {
    console.log(name); // toString or something else
  }
}

此处有更多信息:JS Mozilla Docs

答案 1 :(得分:1)

Alexey关于使用Object.hasOwnProperty

是正确的

以下是使用您的代码的示例:

for (var myList in myListItems) {
  // Check if myList is a property on myListItems
  if (myListItems.hasOwnProperty(myList)) {
    console.log(myList);
    console.log(myListItems[myList]);
  }
}