Javascript 当u.allKeys(obj)数组(比如var arr)被引用到object:obj.arr[0]时,它会返回未定义的行为
对于那些不知道allKeys(obj)做什么的人,这里有一个片段Javascript 当u.allKeys(obj)数组(比如var arr)被引用到object:obj.arr[0]时,它会返回未定义的行为,javascript,underscore.js,Javascript,Underscore.js,对于那些不知道allKeys(obj)做什么的人,这里有一个片段 var allKeys = function(obj){ var key=[]; for(var pname in obj){ key.push(pname); } return key; };` 因此,它返回传递给它的对象的属性/方法名称数组 //Say I have an objec
var allKeys = function(obj){
var key=[];
for(var pname in obj){
key.push(pname);
}
return key;
};`
因此,它返回传递给它的对象的属性/方法名称数组
//Say I have an object obj.
var obj={firstname:"John", lastname:"Adams"};
var arr=allKeys(obj); //stores the returned array of property names into arr.
for(var i;i<arr.length;i++){
console.log("Property name: "+arr[i]); //this detects the propertyname
console.log("Value name"+obj.arr[i]); //But when its referred to the object it does not return its value,why so ?
console.log("------");
}
//假设我有一个对象obj。
var obj={姓:“约翰”,姓:“亚当斯”};
var arr=所有键(obj)//将返回的属性名称数组存储到arr中。
对于(var i;i您应该以这种方式获取值。
和[]
都用于获取特定键的值,但当键是变量时,您需要[]
,而不是
如果您只想显示键和值,则无需以这种复杂的方式进行
var obj={firstname:"John", lastname:"Adams"};
for(let key in obj){
console.log("Property name: "+key); //this detects the propertyname
console.log("Value name"+obj[key]);
console.log("------");
}
这就是您所需要的。这将为您提供与预期相同的结果
var allKeys=函数(obj){
var键=[];
for(对象中的变量pname){
按键(pname);
}
返回键;
};
var obj={姓:“约翰”,姓:“亚当斯”};
var arr=allKeys(obj);//将返回的属性名数组存储到arr中。
对于(var i=0;i我表示感谢,这是我关于stackoverflow的第一篇文章!你能告诉我为什么“.”不起作用吗?非常感谢:调整了重复的文章?非常感谢。我如何通过这些数组间接添加带有值的属性名,而不直接将其添加到对象文本中?