如何解决如何获取对象内元素的索引?
我正在尝试获取对象内元素的索引,如下所示:
var array = [{spot_id: 6,spot_no: 6,gate_id: 6},{spot_id: 16,spot_no: 17,gate_id: 5},{spot_id: 5,spot_no: 5,{spot_id: 11,spot_no: 11,{spot_id: 15,spot_no: 16,gate_id: 4},{spot_id: 4,spot_no: 4,{spot_id: 10,spot_no: 10,{spot_id: 14,spot_no: 15,gate_id: 3},{spot_id: 9,spot_no: 9,{spot_id: 3,spot_no: 3,{spot_id: 8,spot_no: 8,gate_id: 2},{spot_id: 13,spot_no: 14,{spot_id: 2,spot_no: 2,{spot_id: 7,spot_no: 7,gate_id: 1},{spot_id: 12,spot_no: 13,gate_id: 22}];
var result = array.reduce( (acc,o) => (acc[o.gate_id] = (acc[o.gate_id] || 0)+1,acc),{} );
console.log(result)
let index = result.findIndex(rank => rank === 4);
但它失败了。我认为 findIndex
仅适用于数组而不适用于对象。
这是 Fiddle 中的示例:
预期输出:
例如,如果我想将其中一个元素的索引与一个数字进行比较,看看它是否为真(存在),例如:
for (var i = 0; i
解决方法
findIndex 仅用于数组而不是对象,对。 您可以使用以下内容:
let index= Object.keys(result).find(key=> result===4)
或者简单地说,
let index;
if(result[4])
index = 4
,
在我看来,您正在尝试使用 gate_id === 22
查看有多少项目。在这种情况下,您只需要:
result[22];
这是1
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。