[英]How to get property of an object to a variable in Javascript?
向Codecademy学习。 我必须将对象的属性获取为变量(而不是属性值)。 一个小时后,这使我的脑子一团糟。
这是代码(我弄乱了一点以找到解决方案。请使用注释正确理解它。我很困惑地问)SCREENSHOT: http : //prntscr.com/bcj94x
var james = {
job: "programmer",
married: false
};
// set to the first property name of "james"
var aProperty = james["job"];
// print the value of the first property of "james"
// using the variable "aProperty"
console.log(james["job"]);
console.log(aProperty);
我得到:运行脚本时在控制台中
programmer
programmer
谢谢
您期待什么结果?
使用Javascript Object Notation(简称JSON )定义对象会导致一个对象具有两个属性job
和married
。
通过变量james
引用此对象。 每次在代码中使用james
时,都在处理引用的对象。
var aProperty = james["job"];
。 每次使用变量aProperty
时,它都引用使用james
引用的对象的job
属性。
这就像说:»从现在开始,当我说“ aProperty”时,我的意思是james
«的工作性质。
您的评论有点误导性:
//设置为“詹姆斯”的第一个属性名称
在这种情况下, job
是第一个属性。 将正确set to the property named job
。
根据以上所述,结果应该不会意外。
console.log(james["job"]);
console.log(aProperty);
因为aProperty
等同于james["job"]
所以aProperty
都是打印programmer
,就像说Thomas
或the person who wrote this
指me
。
如果要获取与给定值关联的键,可以执行以下操作:
var james = {
job: "programmer",
married: false
};
Object.prototype.getKey = function (value){
for(var property in this){
if(this.hasOwnProperty(property)) {
if(this[property] === value )
return property;
}
}
};
console.log(james.getKey('programmer'));
它会给你“工作”。
因此,使用此功能,您可以简单地编写:
var aProperty = james.getKey('programmer');
您可以使用for in
循环放key
的值key : value
在詹姆斯发现对所谓aProperty内部数组对象,然后在控制台打印出结果。
var james = {
job: "programmer",
married: false
};
var aProperty = [];
for (myvar in obj) {
if (obj.hasOwnProperty(myvar)) {
aProperty.push(myvar);
}
}
console.log(aProperty[0]);
console.log(aProperty[1]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.