gpt4 book ai didi

javascript - 使用自定义键创建对象数组

转载 作者:行者123 更新时间:2023-11-30 07:24:23 26 4
gpt4 key购买 nike

目前,我有一个对象数组,看起来像这样:

var arr = [{
id: UNIQUE_ID,
title: 'TITLE'
}, {
id: UNIQUE_ID,
title: 'TITLE'
}];

这里困扰我的是,在特定情况下,我必须遍历数组并显示匹配 ID 的数据。我只想获取该特定对象的所有内容,它具有我想要的 ID,仅此而已。如果数组看起来更像这样,对我来说会容易得多:

var arr = [{
id: {
title: 'TITLE'
},
id: {
title: 'TITLE'
}
}]

ID 来自生成随机数的方法的结果,因此我需要为此 ID 放置一个变量或方法调用。

我不确定这是否可行,因为我没有找到具体的例子,但我也想听听其他解决方案。

最佳答案

您可以通过完全删除数组来做到这一点,只需使用一个对象:

var items = {};
items["some id"] = {title: 'first title'};
items["another id"] = {title: 'second title'};

或者如果您在变量中有键:

var key = "a third id";
items[key] = {title: 'third title'};

稍后,如果您想根据键查找其中一个条目:

var key = "another id";

你会这样做:

console.log(items[key].title); // "second title" (if key is "another id")

如果你需要知道对象中的所有键是什么,你可以使用Object.keys:

var arrayOfKeys = Object.keys(obj);

(请注意,Object.keys 是一项 ES5 功能;在较旧的浏览器上,您需要为其添加一个 shim,这很简单。)

请注意我在上面第一个代码块中填充对象的方式。如果您可以对键进行硬编码,则可以使用对象初始值设定项来实现:

var items = {
"some id": {title: 'first title'},
"another id": {title: 'second title'}
};

...但是如果你想为键名使用变量,你不能那样做,因为你不能把变量放在 的左侧:(它看起来像一个文字键名)。也就是说,如果你有

var key = "a third id";

那么这将不起作用:

var items {
key: {title: "third title"} // <==== Doesn't do what we want
};

key 将是 “key”,而不是 “第三个 id”(就像我们一直使用的 title key 一样) .这就是为什么在上面的第一个 block 中,我创建了对象,然后分别设置了属性。

关于javascript - 使用自定义键创建对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22378950/

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