当前位置: 首页 > 知识库问答 >
问题:

无法创建对象数组[重复]

司徒啸
2023-03-14

我有一个包含对象数组的数组。以下是一个例子:

[ [{name: Alex, number: 2}, {name: Bill, number: 3}],  [{name: John, number: 5}, {name: Aston, number: 7}]]

我想创建另一个数组,其中包含上述数组的所有对象,如下所示:

[{name: Alex, number: 2}, {name: Bill, number: 3}, {name: John, number: 5}, {name: Aston, number: 7}] 

我写了下面的代码:

const productsInfoArray = [];
const productsRecords = customerContacts.map(i => i.products).map(product => {
  product.map(i => productsInfoArray.push(i));
  return productsInfoArray;
});

但是当我console.log(productsRecords)返回一个包含所有信息的数组时。问题是,此数组包含所需数组的12倍,因为customerContacts长度为12

共有3个答案

鲁华皓
2023-03-14

如果您想要使用一个更为自解释的代码,那么您可以使用传统的方式,这样,将来如果您想要添加更复杂的逻辑,那么您可以很容易地修改它。

var inputArray =[ [{name: "Alex", number: 2}, {name: "Bill", number: 3}],  [{name: "John", number: 5}, {name: "Aston", number: 7}]];

var outputArray = [];

//loop over the array or arrays
inputArray.forEach((item)=>{
  //loop over each array inside inputArray
  item.forEach((obj) => {
     //push each individual object in a new array
     outputArray.push(obj);
  });
});

console.log(outputArray);
顾骏祥
2023-03-14

这个问题已经解决了

var arrToConvert = [ [{name: "Alex", number: 2}, {name: "Bill", number: 3}],  [{name: "John", number: 5}, {name: "Aston", number: 7}]]
var newArr = [];


for(var i = 0; i < arrToConvert.length; i++)
{
    newArr = newArr.concat(arrToConvert[i]);
}

console.log(newArr);
司徒俊健
2023-03-14

您可以将数组展开为array.concat()

const data = [ [{name: 'Alex', number: 2}, {name: 'Bill', number: 3}],  [{name: 'John', number: 5}, {name: 'Aston', number: 7}]]

const productsRecords = [].concat(...data)

console.log(productsRecords)
 类似资料:
  • 你好,我正在尝试在swagger hub中创建一个对象数组 然而,我似乎无缘无故地犯了一个错误 我仿照了官方文档https://swagger . io/docs/specification/data-models/data-types/# array 但是我得到的错误是 应该是对象 基本上,在type:array中,它表示它应该是一个对象 任何帮助都将不胜感激

  • 问题内容: 我是Java的新手,当时我用Java创建了一系列对象。 例如,我有A类 但这只是创建指向A的指针(引用),而不是4个对象。它是否正确?我看到当我尝试访问创建的对象中的函数/变量时,出现空指针异常。为了能够操作/访问对象,我必须这样做 这是正确的还是我做错了什么?如果这是正确的,那真的很奇怪。 编辑:我觉得这很奇怪,因为在C ++中,你只是说新的A [4],它创建了四个对象。 问题答案:

  • 我已经为创建了一个堆栈扩展。 我创建了一个模板类,其代码如下: 但当我初始化它时: 它抛出以下错误: 操作员似乎有一些问题。我确实尝试创建运算符重载,但尝试失败。 错误的原因是什么?

  • 我需要创建一个对象(银行),其中包含一组客户端和bankID。我的问题是,我不知道如何在主函数中创建银行。 银行类别: 客户端类: 主要类别: 这些是问题所在: 你必须创建一个程序来模拟银行活动。该系统包括以下模块:银行—客户(客户数组)— idBank(字符串)5 BancAccount — accountNumber(字符串)—金额(浮点)客户—姓名(字符串)—地址(字符串)—账户(银行账户数

  • 问题内容: 我如何用对象填充ArrayList,而内部的每个对象都不相同? 问题答案:

  • 问题内容: 我有一个数组: 我想创建的另一个数组和其唯一的元素为x。 我已经试过这段代码: 但是它会产生一系列形状。 我当然可以做: 但我希望该解决方案能够轻松扩展到更大的形状,例如: 无需在所有索引上运行循环。 有什么建议可以做到这一点吗? UPD1 数组可能不同,如: 它们也可能具有不同的形状,但是对于那种情况,一个简单的构造函数就可以了 UPD2 我真的想要一种可以处理任意形状(不一定都一样