javascript – ES6数组解析并分配给没有函数的对象
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – ES6数组解析并分配给没有函数的对象,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1846字,纯文字阅读大概需要3分钟。
内容图文
![javascript – ES6数组解析并分配给没有函数的对象](/upload/InfoBanner/zyjiaocheng/759/d4f8bc2bad24400ea44bf065d9614f1b.jpg)
我想知道如果没有地图,减少或任何其他功能,这个初步代码是否可行?
const arr1 = ['str', 'str2'];
let obj = {};
Object.assign(obj, [...arr1] : 'Value');
console.log(obj); // Expected output: { str1: 'Value', str2: 'Value' }
重点是将每个数组元素转换为一个对象键并为其分配一个静态值,引起我注意的是,是否可以通过使用简单的语法并将数组解构为与伪代码类似?由于我找不到任何关于此的信息,我只是想把这个问题清除掉.
解决方法:
您不能传播数组元素以将它们用作对象中的单独属性的属性名称.
最简单的方法就是在事后使用循环:
let obj = {};
for (const str of arr1) {
obj[str] = 'Value';
}
实例:
const arr1 = ['str', 'str2'];
let obj = {};
for (const str of arr1) {
obj[str] = 'Value';
}
console.log(obj); // Expected output: { str1: 'Value', str2: 'Value' }
但是如果你想要“发烧友”,你可以使用Object.assign和一堆临时对象,使用扩展符号和map和箭头函数:
let obj = {};
Object.assign(obj, ...arr1.map(str => ({[str]: 'Value'})));
另请参阅Jared Smith的answer using fromEntries,它与此分配版本非常相似,但可能更高效(仍会创建大量不必要的临时对象,但更有效地处理这些对象).
实例:
const arr1 = ['str', 'str2'];
let obj = {};
Object.assign(obj, ...arr1.map(str => ({[str]: 'Value'})));
console.log(obj); // Expected output: { str1: 'Value', str2: 'Value' }
如果你想要的话,你也可以穿上它来减少它(因为几乎任何阵列操作都可以减少角度):
let obj = arr1.reduce((o, str) => {
o[str] = 'Value';
return o;
}, {});
实例:
const arr1 = ['str', 'str2'];
let obj = arr1.reduce((o, str) => {
o[str] = 'Value';
return o;
}, {});
console.log(obj); // Expected output: { str1: 'Value', str2: 'Value' }
然后也许(ab)使用逗号运算符,因此箭头函数可以使用简洁的正文:
let obj = arr1.reduce((o, str) => (o[str] = 'Value', o), {});
实例:
const arr1 = ['str', 'str2'];
let obj = arr1.reduce((o, str) => (o[str] = 'Value', o), {});
console.log(obj); // Expected output: { str1: 'Value', str2: 'Value' }
不过,我会保持简单,并使用循环.
内容总结
以上是互联网集市为您收集整理的javascript – ES6数组解析并分配给没有函数的对象全部内容,希望文章能够帮你解决javascript – ES6数组解析并分配给没有函数的对象所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。