【问题标题】:Merging an array of object in React在 React 中合并对象数组
【发布时间】:2020-04-30 15:12:12
【问题描述】:

我有一个对象数组,比如

[{ a=1, b=4, c=4, d=6}, { a=1, b=4, c=4, d=6}, …],[{ a=1, b=4, c=4, d=6}, { a=1, b=4, c=4, d=6}, …],[{ a=1, b=4, c=4, d=6}, { a=1, b=4, c=4, d=6}, …]

并希望它像这样合并到一个唯一的数组中

[{ a=1, b=4, c=4, d=6}, { a=1, b=4, c=4, d=6}, { a=1, b=4, c=4, d=6}, { a=1, b=4, c=4, d=6}, { a=1, b=4, c=4, d=6}, { a=1, b=4, c=4, d=6}, …]

我需要一个唯一的数组才能在平面列表中呈现它。

【问题讨论】:

  • 这会产生语法错误。你的意思是a:1 而不是a=1
  • 你有一个数组或对象中的所有对象数组吗?

标签: arrays reactjs merge


【解决方案1】:

使用平面

要使您的数组深度为 1 级,请使用数组方法 flat

const arr1 = [1, 2, [3, 4]];
arr1.flat(); 
// [1, 2, 3, 4]

使用集

要使数组唯一,请将其转换为 Set

const myArray = ['a', 1, 'a', 2, '1'];
const unique = [...new Set(myArray)]; 

// unique is ['a', 1, 2, '1']

【讨论】:

    【解决方案2】:

    对不起,我的错...我应该更好地解释自己。

    在我只检索包含 20 个类似这种格式的项目的 API 的 page1 之前

    [{"popularity": 25.41, "name": "Wan Peng","id": 2187124},{"popularity": 25.238,"name": "Jason Statham”,"id": 976},…{"popularity": 24.784,"name": "Henry Cavill","id": 73968}]
    

    这样我就可以轻松地在平面列表中呈现数据。

    现在我通过循环我的 API Fetch 并连接结果来获取 20 个页面

    total_results = total_results + resData.results;
    

    我的日志现在看起来像这样

    RESDATA TOTAL RESULTS: [object Object][object Object][object Object][object Object]
    

    我希望它像这样将它们合并为一个

    RESDATA TOTAL RESULTS: [object Object]
    

    希望我现在能够更好地澄清我的问题。

    【讨论】:

      猜你喜欢
      • 2022-01-21
      • 2019-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-17
      • 1970-01-01
      相关资源
      最近更新 更多