繁体   English   中英

在 JavaScript 中的 Object 中插入一个数组

[英]Insert an array in an Object in JavaScript

我有一个这样的数据集合:

const listItem = [
    {name:'Patrick star',id:"1",costs:[{name:'Read Book'},{name:'Drink water'}]},
    {name:'Gallileo',id:"2",costs:[{name:'Read Book'},{name:'Drink water'},{name:'Walking'}]},
    {name:'Einsten',id:"3",costs:[{name:'Read Book'},{name:'Drink water'}]},
    {name:'Peterson',id:"4",costs:[{name:'Read Book'},{name:'Drink water'}]},
    {name:'Schwarzenneger',id:"5",costs:[{name:'Read Book'},{name:'Drink water'}]},
    {name:'Dostoyevsky',id:"6",costs:[{name:'Read Book'},{name:'Drink water'}]}
]

我想做一个这样的数组。 我现在有

var arr = []
var costs = [{name: "20"}]
var category = {id: 3, name: "envelope"}

我需要将costs数组和category放在一个数组中。 这是通缉的output:

[{name:'envelope',id:"3",costs:[{name: "20"}]}]

我怎样才能做到这一点?

您可以像这样使用扩展运算符:

var costs = [{name: "20"}]
var category = {id: 3, name: "envelope"}
var arr = [{costs: [...costs], ...category}]

尝试:

let items = {"name": category['name'], "id": category['id'], "costs": costs}
arr.push(items)

另一种更简单的方法:

arr.push({"costs": costs, ...category})

和 append 项目在必要时循环

结果:

[{name:'envelope',id:3,costs:[{name: "20"}]}]

您必须将成本和类别放入单个 object 中,然后您可以将 object 放入数组中,如下所示:

var arr = []
var costs = [{name: "20"}]
var category = {id: 3, name: "envelope"}
arr.push({ costs, ...category });

推入后数组将如下所示:

arr = [
          {
              costs : [{name: "20"}],
              id: 3, 
              name: "envelope"
          }
      ]

我希望这能解决你的问题

<script>
const listItem = [
    {name:'Patrick star',id:"1",costs:[{name:'Read Book'},{name:'Drink water'}]},
    {name:'Gallileo',id:"2",costs:[{name:'Read Book'},{name:'Drink water'},{name:'Walking'}]},
    {name:'Einsten',id:"3",costs:[{name:'Read Book'},{name:'Drink water'}]},
    {name:'Peterson',id:"4",costs:[{name:'Read Book'},{name:'Drink water'}]},
    {name:'Schwarzenneger',id:"5",costs:[{name:'Read Book'},{name:'Drink water'}]},
    {name:'Dostoyevsky',id:"6",costs:[{name:'Read Book'},{name:'Drink water'}]}
]

var arr = []
var costs = [{name: "20"}]
var category = {id: 3, name: "envelope"}

category['costs']=costs


// Just to Verify
console.log(JSON.stringify(listItem)) //[{"name":"Patrick star","id":"1","costs":[{"name":"Read Book"},{"name":"Drink water"}]},{"name":"Gallileo","id":"2","costs":[{"name":"Read Book"},{"name":"Drink water"},{"name":"Walking"}]},{"name":"Einsten","id":"3","costs":[{"name":"Read Book"},{"name":"Drink water"}]},{"name":"Peterson","id":"4","costs":[{"name":"Read Book"},{"name":"Drink water"}]},{"name":"Schwarzenneger","id":"5","costs":[{"name":"Read Book"},{"name":"Drink water"}]},{"name":"Dostoyevsky","id":"6","costs":[{"name":"Read Book"},{"name":"Drink water"}]}]

listItem.push(category)  // this is how you insert data in exiting object

console.log(JSON.stringify(listItem))//[{"name":"Patrick star","id":"1","costs":[{"name":"Read Book"},{"name":"Drink water"}]},{"name":"Gallileo","id":"2","costs":[{"name":"Read Book"},{"name":"Drink water"},{"name":"Walking"}]},{"name":"Einsten","id":"3","costs":[{"name":"Read Book"},{"name":"Drink water"}]},{"name":"Peterson","id":"4","costs":[{"name":"Read Book"},{"name":"Drink water"}]},{"name":"Schwarzenneger","id":"5","costs":[{"name":"Read Book"},{"name":"Drink water"}]},{"name":"Dostoyevsky","id":"6","costs":[{"name":"Read Book"},{"name":"Drink water"}]},{"id":3,"name":"envelope","costs":[{"name":"20"}]}]
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM