从数组键访问对象值
Accessing object values from array keys
这可能是一个愚蠢的问题,但我被卡住了:(
我有一个对象和一个数组,其中一个是像这样的数据
var pwData = {
"2_6": {
"name":"ggregreg",
"location":"Manchester",
},
"2_70": {
"name":"rwerwer",
"location":"Solihull"
},
"2_59": {
"name":"Amy",
"location":"yjhtgeg"
}
另一个是对订单的引用,比如这个
var pwOrder = ["2_70", "2_59", "2_6"];
然后,我尝试使用pwData中的数据,按照pwOrder数组的顺序对一些数据进行控制台日志记录。像这样。
$.each(pwOrder, function(k)
{
console.log(pwData[k].name);
}
在我看来,它应该按照pwOrder定义的顺序记录pwData中的人名,但它不起作用:(非常感谢任何帮助,把我的头发拔出来!!
jquery
each
回调中的k
将是index
,而不是键本身。
var pwData = {
"2_6": {
"name": "ggregreg",
"location": "Manchester",
},
"2_70": {
"name": "rwerwer",
"location": "Solihull"
},
"2_59": {
"name": "Amy",
"location": "yjhtgeg"
}
};
var pwOrder = ["2_70", "2_59", "2_6"];
$.each(pwOrder, function(index, key) {
console.log(pwData[key].name);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
不需要jquery
,但是可以使用本机javascipt
var pwData = {
"2_6": {
"name": "ggregreg",
"location": "Manchester",
},
"2_70": {
"name": "rwerwer",
"location": "Solihull"
},
"2_59": {
"name": "Amy",
"location": "yjhtgeg"
}
};
var pwOrder = ["2_70", "2_59", "2_6"];
pwOrder.forEach(function(key) {
console.log(pwData[key].name);
});
James是正确的。
$.each(pwOrder, function(k)
{
console.log(pwData[pwOrder[k]]['name']);
});
工作。
相关文章:
- 如何使用此从对象访问构造函数
- LokiJS与标准Javascript对象访问
- JavaScript子对象访问自己的值
- Javascript嵌套对象访问根级别
- 即使使用 angular.fromJson() 也无法从 json 对象访问字符串
- 从表单到 Ajax 的动态对象访问
- 将 NodeJS 模块范围变量作为对象访问
- 能够从Meteor中的辅助对象访问特定值
- 从JavaScript对象访问数据's数组成员变量
- 如何从 React 中的事件对象访问自定义属性
- 函数中的对象访问;不起作用
- 如何在javascript中从JSON对象访问数组
- 如何从C#.Net Webbrowser对象访问javascript变量
- Javascript中最快的类/对象访问/实例化是什么
- 覆盖对象访问 JavaScript
- 如何从 jquery 中的另一个对象访问在一个对象中声明的变量
- 从 JavaScript 对象访问变量
- 如何从范围对象访问数据到指令
- 从vue.js中的对象访问v-repeat-overarray中的属性
- jQuery:从具有一个类的多个实例的对象访问元素