Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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_Object_Ecmascript 6 - Fatal编程技术网

Javascript 用第一个数组中的值填充对象中的第二个数组

Javascript 用第一个数组中的值填充对象中的第二个数组,javascript,arrays,object,ecmascript-6,Javascript,Arrays,Object,Ecmascript 6,我有这样的情况 const links = { ALLOWED1: [ 'some_path1' ], ALLOWED2: [ 'some_path2' ] } 但是,我还想允许上的前一个数组的路径被允许2,我已经尝试过了 const links = { ALLOWED1: [ 'some_path1' ], ALLOWED2: [ ...links['ALLOWED1'], 'some_path2' ] } 但这是无效的,因为尚未定义链接。当然,我可以手动填充它,但我更愿意

我有这样的情况

const links = {
  ALLOWED1: [ 'some_path1' ],
  ALLOWED2: [ 'some_path2' ]
}
但是,我还想允许
上的前一个数组的路径被允许2
,我已经尝试过了

const links = {
  ALLOWED1: [ 'some_path1' ],
  ALLOWED2: [ ...links['ALLOWED1'], 'some_path2' ]
}

但这是无效的,因为尚未定义
链接。当然,我可以手动填充它,但我更愿意找到一个更优雅的解决方案。

您可以用三行代码来代替

const links={};
links.ALLOWED1=['some_path1'];
links.ALLOWED2=[…links['ALLOWED1'],'some_path2'];

console.log(links.ALLOWED2)您可以用三行代码来代替

const links={};
links.ALLOWED1=['some_path1'];
links.ALLOWED2=[…links['ALLOWED1'],'some_path2'];

console.log(links.ALLOWED2)另一种选择,只是因为有很多方法可以做到这一点,而且主要是风格的问题:)

const links=(()=>{
const ALLOWED1=[“some_path1”],
ALLOWED2=[…ALLOWED1,“某些路径2”];
返回{ALLOWED1,ALLOWED2};
})();

控制台日志(链接)另一种选择,只是因为有很多方法可以做到这一点,而且主要是风格的问题:)

const links=(()=>{
const ALLOWED1=[“some_path1”],
ALLOWED2=[…ALLOWED1,“某些路径2”];
返回{ALLOWED1,ALLOWED2};
})();

控制台日志(链接)如果您不打算更改
允许的2
,您可以将其转换为:

const链接={
允许1:['some_path1'],
get ALLOWED2(){return[…this['ALLOWED1'],'some_path2']}
}

console.log(links.ALLOWED2)如果您不打算更改
允许的2
,您可以将其转换为:

const链接={
允许1:['some_path1'],
get ALLOWED2(){return[…this['ALLOWED1'],'some_path2']}
}

console.log(links.ALLOWED2)
ALLOWED2'
应该是
ALLOWED2:
@KevinKloet谢谢,修复:)如何填充对象?@AlexandruSeverin手动,这是用于路由,但是我想找到一个解决方案,从上一个数组中获取字符串并将其移动到下一个数组中,这不是手动的。
ALLOWED2'
应该是
ALLOWED2:
@KevinKloet谢谢你,修复:)你如何填充对象?@AlexandruSeverin手动,这是用于路由的,但是我想找到一个解决方案,从上一个数组中获取字符串并将它们移动到下一个数组中,这不是手动的。哦,谢谢。希望stackoverflow有一个语法检查器:)哦,谢谢。希望stackoverflow有一个语法检查器:)