javascript - 需要将数组推送到对象
问题描述
我需要将数组推送到无法执行此任务的对象内的对象。我正在研究角度 6
这是一个例子。
abc = { data: { name: '', version: '', type: '', ports: [], vm:[] } };
let hostlist = ['1234.Vm', '5678.Vm', '6789.Vm'];
//Need to push hostlist data to adc.data.vm
this.adc.data.vm.push(hostlist);
//this output is array inside array
this.adc.data.vm.concat(hostlist);
// concat cont work gives empty array
我需要这种格式的输出
{ name: '', version: '', type: '', ports: [], vm:['1234.Vm', '5678.Vm', '6789.Vm'] }
解决方案
您可以使用push
扩展运算符或重新分配adc.data.vm
给结果(concat
因为concat
返回一个新数组而不更改现有数组):
方法一:push() 使用扩展运算符
// method 1: push with spread operator
let adc = {
data: {
name: '',
version: '',
type: '',
ports: [],
vm: []
}
};
let hostlist = ['1234.Vm', '5678.Vm', '6789.Vm'];
adc.data.vm.push(...hostlist);
console.log(adc);
方法2:重新赋值给concat的结果
let adc = {
data: {
name: '',
version: '',
type: '',
ports: [],
vm: []
}
};
let hostlist = ['1234.Vm', '5678.Vm', '6789.Vm'];
adc.data.vm = adc.data.vm.concat(hostlist);
console.log(adc);
推荐阅读
- lotus-notes - 如何在文档中水平和垂直对齐按钮?
- javascript - 如何获取javascript对象中的值编号?
- vb.net - 为 vb.net 中的返回变量赋值
- javascript - ReferenceError:未定义“getElementsByClassName”
- excel - 如何重复代码以将合并的单元格格式应用于多行?
- javascript - IE11 按钮、垂直弯曲和绝对定位元素的抽搐问题
- sql-server - Ms SQL Server 2012 书签共享/导出
- python - 传递给函数时列表未正确附加
- git - 如何为 Intellij 升级 GIT?
- batch-file - 更改批处理脚本中特定行的背景