![](/img/trans.png)
[英]How to create a Javascript object from an array of known keys, but with the values initialized to null?
[英]How can i create an object keys from array values in javascript?
我是 javascript 新手,在做一个小项目时遇到了一个问题,我有一个数组,其中包含像这样分成几个季度的一天
['09:00', '09:15', '09:30', '09:45']
我想创建一个对象,其键是该数组的值,如下所示:
var obj = {
'09:00': false ,
'09:15': true ,
'09:30': false
....
}
但我不想手动执行此操作,因为该对象将包含直到 00:00 的时间,因此我将不得不编写大量代码,而我认为可以自动执行此操作,我尝试了 fromEntries() 方法,但它给出了当我只想设置对象的键时,我会列出键值对列表。 任何解决方案?
您可以简单地使用for-loop
如:
const arr = ['09:00', '09:15', '09:30', '09:45']; let obj = {}; for (var i = 0; i < arr.length; ++i) obj[arr[i]] = ''; console.log(obj);
我不知道的逻辑true
和false
,所以我分配了一个空string
。
你的直觉很好: Object.fromEntries() 可以完成这项工作。
但是你必须像这样构建一个数组:
[['09:00',true ], ['09:30', true] /*...*/]
为了做到这一点,一个简单的.map()可以帮助
Object.fromEntries(
['09:00', '09:15', '09:30', '09:45'].map(hour=>[hour, true])
)
您可以将true
替换为getStatusFromHour(hour)
,然后构建一个函数,将正确的布尔值设置为选定的小时。
您可以编写一个简单的 for 循环并将数据附加到具有所需状态的对象。 喜欢:
var arr = ['09:00', '09:15', '09:30', '09:45', '10:00'];
var obj = {};
for(var i = 0; i < arr.length; i++) {
obj[arr[i]] = false;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.