对于那些不知道_. allKeys(obj)做什么的人,这里有一个片段
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("------");
}
这应该给我:
属性名称:firstname
值名称:John
------
属性名称:lastname
值名称:Adams
------
相反,它给了我:
属性名称:firstname
值名称:un定义
------
属性名称:lastname
值名称:un定义
------
你知道为什么会这样吗?
.
和[]
都是用来获取某个key的值的,但是当key是一个变量时,你需要[]
,而不是.
.
如果您只想显示键和值,则不需要以这种复杂的方式进行。
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("------");
}
这就是你所需要的。
这会给你和你预期的一样的结果
js lang-js prettyprint-override">var allKeys = function(obj){
var key=[];
for(var pname in obj){
key.push(pname);
}
return key;
};
var obj={firstname:"John", lastname:"Adams"};
var arr=allKeys(obj); //stores the returned array of property names into arr.
for(var i=0;i<arr.length;i++){
console.log("Property name: "+arr[i]); //this detects the propertyname
console.log("Value name: "+obj[arr[i]]); // I used BRACKET NOTATION
console.log("------");
}
问题内容: 嗯,我有一个金钱对象,可以将其他金钱对象添加到其中。我在Java中尝试测试我的代码是否还可以,但是随后失败了。 我非常肯定自己的代码是正确的(返回正确的答案),我认为我使用的是错误的方式。T_T 如果要查找是否要进行测试,该怎么使用? 问题答案: 您没有在Money类中重写Object类中的方法。如果是这样,则通过它们的引用比较对象,在这种情况下,引用是不同的。 在这里您可以找到实施规
本文向大家介绍请编写一个对象obj满足 obj=='a' && obj=='b' && obj=='c'相关面试题,主要包含被问及请编写一个对象obj满足 obj=='a' && obj=='b' && obj=='c'时的应答技巧和注意事项,需要的朋友参考一下
计算数组长度有一个众所周知的模式: 此模式适用于静态数组和恒定大小的自动数组。它也适用于C99中的可变长度数组。 我想应用类似的想法来计算动态数组的大小(以字节为单位): 这比 更好不是指实际的数组元素类型。因此,它不需要代码的读者知道类型。 然而,我不清楚表达式是否会导致未定义的行为。随着它的扩展: 如果为,则结果表达式有问题: 根据C99标准: (C99,6.3.2.3p3):“具有值 运算符
我认为Integer(引用obj指向的)被解压缩为int,然后强制转换为byte,然后被压缩为byte并成功赋值。Eclipse编译器警告还说(稍微纠正一下): 类型Object的表达式解压缩为字节 类型byte的表达式被装箱为byte 那么为什么它不能将RHS中的这个字节分配到LHS中的字节引用中呢? 如果,则工作,但失败。失败,但没问题!也许在这些相互的差异中有一些线索? 从经验上看,我会说,
怎么把数组arr转换成obj对象这种格式呢 我这样处理只能获取第一层数据
问题内容: 我的老板说我应该使用,因为它比更好,但是他不记得为什么这样做。有什么理由要使用吗? 我以某种方式感觉到…相反! 在Google上进行搜索后,我发现的唯一结果是: 在C语言中,它可以防止您意外地在条件结构中键入(obj = null)。 问题答案: 您不能通过输入来意外分配给它。但是,这是C时代的回忆,在Java中是不可能的,因为表达式返回赋值的右侧。由于不是,编译器会抱怨。 我会尽力向