gpt4 book ai didi

javascript - 如何在JS ES6新Map(键,值)对中将值设置为对象

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

我已经完成了我的第一个小型 Vue 项目,我的前辈告诉我使用新的 Map(键值对)用新的硬编码数据结构重写它;和作为对象的值。

JS 和 Vue 对我来说是新事物,所以我查了很多,看到一些评论说我需要做的结构是不可能的。然而我们公司使用这样的数据结构,我需要它......

我想做的是一个简单的图书列表应用程序。每年可以有 5 人添加书籍,并且必须按年份排序。排序的范围是点击日历中的任意年份,得到对应的数据。

我使用了filter(),但他说将相同的数据(年份)添加到数组中的对象中是一个坏主意,因为它会使过程变慢。我们处理大数据和实时数据。更新周期为1秒,24/7/365。

如果不可能,那么您能否告诉我任何正确做法的提示?

var books = new Map();
books.set(['2018', {'a' : {id: 'userid', name: 'a'}, 'b': {id: userid, name: 'b'}}], ['2019', {'a': {{id: 'userid', name: 'a'}, 'b': {id: userid, name: 'b'])

最佳答案

假设这不是从您的实际代码中复制的,我将忽略语法错误(缺少括号和不带引号的 id 值)。

您可以将 Map() 构造函数与可迭代对象(如数组)一起使用,以在初始化期间设置多个元素,如

let map = new Map([
['2018', { foo: 'bar }],
['2019', someVariable]
]);

不能Map.prototype.set()做同样的事情。

所以虽然你可以这样做

let books = new Map([[
'2018', {'a' : {id: 'userid', name: 'a'}}
],
[
'2019', {'a': {id: 'userid', name: 'a'}}
]])

如果你开始将事情分解为非常明确的、小的和可管理的步骤,而不是把它们全部扔成一长串,你的前辈(很快你)可能会很高兴。

尝试一下这样的方法,看看你是否喜欢它

let books = new Map()
books.set('2018', {'a' : {id: 'userid', name: 'a'}})
books.set('2019', {'a' : {id: 'userid', name: 'a'}})

关于javascript - 如何在JS ES6新Map(键,值)对中将值设置为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58570236/

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