gpt4 book ai didi

javascript - JavaScript 中带有对象键的数组

转载 作者:行者123 更新时间:2023-11-30 21:06:07 25 4
gpt4 key购买 nike

如何创建一个以键为对象(类的实例)的数组?

我正在尝试做类似的事情:

const parent = {};

while (child !== undefined) {
for (const element of list) {
parent[element] = child;
}
child = child.next;
}

基本上就是这个想法;如果元素是字符串,代码可以工作,但如果元素是对象,代码就不能正常工作。

最佳答案

如果您在 ES2015 环境中,您可以使用 Map

看起来像这样:

let parent = new Map();
while (child !== undefined) {
for (const element of list) {
parent.set(element, child);
}
child = child.next;
}

您可以在这个 codepen 中运行以下证明

let parent = new Map();
const KEY1 = {};
parent.set(KEY1, 'hello');
console.log(parent.get(KEY1)); // hello

const KEY2 = {};
parent.set(KEY2, 'world');
console.log(parent.get(KEY2));

parent.set('est', {a: 'a'});
console.log(parent.get('est'));

或者将其视为堆栈片段

(function($) {
const ELEMENTS = {
$h1: $('#hello'),
$container: $('#container')
};
let parent = new Map();
const KEY1 = {};
parent.set(KEY1, 'hello');
console.log(parent.get(KEY1)); // hello

const KEY2 = {};
parent.set(KEY2, 'world');
console.log(parent.get(KEY2));

parent.set('est', {
a: 'a'
});
console.log(parent.get('est'));


/** original code from question w Map **/
var list = []; // to prevent error
let parenta = new Map();
let child;
while (child !== undefined) {
for (const element of list) {
parenta.set(element, child);
}
child = child.next;
}
})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1 class="hello"></h1>
<div class="container"></div>

关于javascript - JavaScript 中带有对象键的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46578478/

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