[英]Get element of JS object with an index
好的,假设我有我的 object
myobj = {"A":["Abe"], "B":["Bob"]}
我想从中得到第一个元素。 正如我希望它返回Abe
,它的索引为A
。 我怎样才能按照myobj[0]
的方式做一些事情并摆脱“Abe”。
我知道这是一个迟到的答案,但我认为这就是 OP 要求的。
myobj[Object.keys(myobj)[0]];
JS 对象没有定义的顺序,它们(根据定义)是一组未排序的键值对。
如果“第一”是指“按字典顺序排列的第一”,则可以使用:
var sortedKeys = Object.keys(myobj).sort();
然后使用:
var first = myobj[sortedKeys[0]];
myobj = {"A":["Abe"], "B":["Bob"]}
Object.keys(myobj)[0]; //return the key name at index 0
Object.values(myobj)[0] //return the key values at index 0
var myobj = {"A":["Abe"], "B":["Bob"]};
var keysArray = Object.keys(myobj);
var valuesArray = Object.keys(myobj).map(function(k) {
return String(myobj[k]);
});
var mydata = valuesArray[keysArray.indexOf("A")]; // Abe
myobj.A
- - - - 要么 - - - - -
myobj['A']
会给你'B'
$.each(myobj, function(index, value) {
console.log(myobj[index]);
});
你可以试试
Object.entries(myobj)[0]
如果你想要一个特定的顺序,那么你必须使用一个数组,而不是一个对象。 对象没有定义的顺序。
例如,使用数组,您可以这样做:
var myobj = [{"A":["B"]}, {"B": ["C"]}];
var firstItem = myobj[0];
然后,您可以使用 myobj[0] 获取数组中的第一个对象。
或者,取决于您要执行的操作:
var myobj = [{key: "A", val:["B"]}, {key: "B", val:["C"]}];
var firstKey = myobj[0].key; // "A"
var firstValue = myobj[0].val; // "["B"]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.