我有一个从c#类库返回的javascript对象。对象是简单的名称 - 值对列表。
我正在使用
for (var myList in myListItems) {
console.log(myList);
console.log(myListItems[myList]);
}
检索列表中的所有项目,但在我的项目旁边,我得到了一堆.toString方法和其他一些方法,可能是继承自某些东西。
有没有办法删除所有这些方法,只获取我需要的数据?
答案 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]);
}
}