gpt4 book ai didi

Javascript Object.length 基于最后一个对象的键

转载 作者:行者123 更新时间:2023-11-28 00:13:16 25 4
gpt4 key购买 nike

我有一个过滤器列表,可以使用简单的key:value应用于数据集。环形。当用户选择过滤器时,将使用 key:value 创建一个新对象。对。但是,如果有 4 个过滤器,并且用户仅选择了第 1 个和第 3 个过滤器项,则创建的新对象的结构如下:

var newObject = {
0: {
key: value,
},
2: {
key: value,
}
}

当我打电话newObject.length时,它返回3 。请参阅 Chrome 开发工具中的以下内容:

devtools object description

Object.length似乎是基于对象中的最后一个键,而不是对象本身的数量。我怎样才能得到newObject.length返回 2 而不是 3?

这是我的函数,它根据过滤器创建对象:

selectedInModel: function() {
var selected = [];
var getInputs = inputService.primaryInputs; // returns filter object
for (var key in getInputs) {
if (getInputs[key]["value"]) {
selected[key] = {
"value": getInputs[key]["value"],
"id": getInputs[key]["id"]
};
}
}
return selected;
};

我怎样才能得到Object.length返回我的对象​​中对象的数量

最佳答案

您正在使用[]作为对象。无论有多少属性,length 都应该为您提供最高的索引。我会改用对象:

var selected = {};
selected[key] = {
"value": getInputs[key]["value"],
"id": getInputs[key]["id"]
};
Object.keys(selected).length;

关于Javascript Object.length 基于最后一个对象的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30685572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com