【问题标题】:How to concatenate 2 arrays by index order? [duplicate]如何按索引顺序连接 2 个数组? [复制]
【发布时间】:2019-11-19 14:11:18
【问题描述】:

我试图弄清楚如何使用带有日期的高图。我正在做一个 API 调用,并在一个变量中单击,在另一个变量中具有日期。我想连接这两个数组,但要遵循索引。

例如

array1 = [timestamp1 , timestamp2, timestamp3]
array2 =[ clicks1, clicks2, clicks3 ]

我想要一个数组

data =  0: [timestamp1, click1],
        1: [timestamp2, click2],
        2: [timestamp3, click3]

我试着做 var data = array1.concat(array2);

但它是按顺序连接的

data = [timestamp1 , timestamp2, timestamp3 , clicks1, clicks2, clicks3 ]

我的原始代码如下所示:


    getChartData(){
            axios.get("http://localhost:3003/desktop").then(api =>{
                const data = api.data;
              // console.log(data)

            var date =[];
                var clicks = []
                var impressions =[]

                for ( var i in data)
                {
                    date.push(data[i].Date)
                    clicks.push(data[i].Clicks)
                    impressions.push(data[i].Impressions)
                }



                var cd = date.concat(clicks);
                console.log(cd)

                 this.setState({
                    clicks:clicks,
                    date:date,
                    impressions:impressions,
                    cd: cd
                 })
            });




        }

这可能是一个非常基本的问题,但我是初学者,找不到任何相关内容。任何帮助将不胜感激。

【问题讨论】:

  • 与其推入dateclicks,不如推入data
  • 您要查找的内容称为“Zipping”,它在 Haskell 等语言中很常见。有人已经回答了怎么做here

标签: javascript


【解决方案1】:

假设两个数组的长度相同,您可以使用这样的东西。您可以通过多种方式进行迭代。

const arr1 = ['a', 'b', 'c'];
const arr2 = ['A', 'B', 'C'];

const arrPaired = arr1.map((ent, i) => [ent, arr2[i]]);

console.log(arrPaired);

【讨论】:

    【解决方案2】:

    您可以解析其中一个数组的所有键,然后使用该键从两个数组中检索值。例如:

    let output = []
    Object.keys(array1).forEach((key) => {
        output.push(array1[key], array2[key]);
    });
    

    我在这里使用forEach 数组函数,但您可以使用普通的foreach 循环来实现相同的目标。

    请注意,此代码未经测试,仅向您展示基本思想。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 2022-09-22
      • 1970-01-01
      • 2020-08-30
      相关资源
      最近更新 更多