【问题标题】:How to arrange/edit multiple arrays | Javascript如何排列/编辑多个数组 | Javascript
【发布时间】:2021-11-03 10:46:07
【问题描述】:

我有三组数据

var item = ['item1', 'item2', 'item3', ...]
var price = ['price1', 'price2', 'price3', ...]
var date = ['date1', 'date2', 'date3', ...]

有什么方法可以让我按照特定的顺序排列,比如

[
    ['item1', 'price1', 'date1'],
    ['item2', 'price2', 'date2'],
    ['item3', 'price3', 'date3'],
    .....
]

提前致谢。

【问题讨论】:

标签: javascript node.js arrays


【解决方案1】:

您可以尝试使用 for 循环或map 函数

const item = ['item1', 'item2', 'item3'];
const price = ['price1', 'price2', 'price3'];
const date = ['date1', 'date2', 'date3'];

const result = item.map((v, i) => [v, price[i], date[i]]);

【讨论】:

    【解决方案2】:

    鉴于您的数组长度相同,以下是一种可以实现预期结果的捷径

    var item = ['item1', 'item2', 'item3']
    var price = ['price1', 'price2', 'price3']
    var date = ['date1', 'date2', 'date3']
    
    const res = Array.from({
      length: item.length
    }, (_, i) => [item[i], price[i], date[i]])
    
    console.log(res)

    【讨论】:

    • 这个需要回答吗?
    【解决方案3】:

    我假设您的数据按预期排序,即使不同数组的长度也不相同,下面的代码应该可以工作

    const arranged = []
    const length  = Math.min(item.length, price.length, date.length)
    for (let index = 0; index < length; ++index){
        arranged.push([item[index], price[index], date[index]])
    }
    
    console.log(arranged)
    

    【讨论】:

      【解决方案4】:

      我建议你改用对象

      var item = ['item1', 'item2', 'item3']
      var price = ['price1', 'price2', 'price3']
      var date = ['date1', 'date2', 'date3']
      
      const res = item.reduce((acc,cur,i) => {
        acc[i] = {item:cur,price:price[i], date:date[i] }
        return acc
      }, [])
      
      console.log(res)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-29
        • 2020-10-12
        • 1970-01-01
        • 2020-11-02
        • 2011-08-31
        • 2019-05-02
        • 1970-01-01
        • 2022-01-18
        相关资源
        最近更新 更多