Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-数组,对象-如何简化此代码_Javascript_Arrays_Ecmascript 6_Javascript Objects - Fatal编程技术网

JavaScript-数组,对象-如何简化此代码

JavaScript-数组,对象-如何简化此代码,javascript,arrays,ecmascript-6,javascript-objects,Javascript,Arrays,Ecmascript 6,Javascript Objects,如何简化此代码? 我认为它可能有更好的重构方法 const aa = ['red', 'yellow', 'blue'] const bb = { first: 0, second: 1, third: 2 } const cc = { ...bb } cc.first = aa[cc.first] cc.second = aa[cc.second] cc.third = aa[cc.third] 这是一个在aa或bb中添加或删除项目后仍然有效的解决方案,无需更改代码 const aa =

如何简化此代码? 我认为它可能有更好的重构方法

const aa = ['red', 'yellow', 'blue']
const bb = { first: 0, second: 1, third: 2 }
const cc = { ...bb }

cc.first = aa[cc.first]
cc.second = aa[cc.second]
cc.third = aa[cc.third]

这是一个在aa或bb中添加或删除项目后仍然有效的解决方案,无需更改代码

const aa = ['red', 'yellow', 'blue']
const bb = { first: 0, second: 1, third: 2 }    
const cc = {};

for(var key in bb)
   cc[key] = aa[bb[key]];
您可以使用
.reduce()
Object.entries()
方法:

const aa=['red'、'yellow'、'blue']
常量bb={first:0,second:1,third:2}
const cc=对象条目(bb)
.reduce((r[k,i])=>(r[k]=aa[i],r),{});

控制台日志(cc)