javascript - 如何在javascript中组合多个嵌套数组?

标签 javascript arrays

我有 2 组嵌套数组:

var values = [[100, 87.5, 87.5, 87.5, 100, 100],
[87.5, 100, 100, 100, 87.5, 87.5],
[75, 75, 75, 75, 75, 75],
[50, 50, 50, 62.5, 62.5, 62.5],
[62.5, 62.5, 62.5, 50, 37.5, 50],
[0, 0, 0, 0, 0, 0]];

var date = [["2015", "2004", "2015", "2015", "2015", "2015"],
["2015", "2004", "2015", "2015", "2015", "2015"],
["2015", "2004", "2015", "2015", "2015", "2015"],
["2015", "2004", "2015", "2015", "2015", "2015"],
["2015", "2004", "2015", "2015", "2015", "2015"],
["2015", "2004", "2015", "2015", "2015", "2015"]];

我想做的是将值和日期中的每个数组组合起来:

Get this :[100, 87.5, 87.5, 87.5, 100, 100]
Get this :["2015", "2004", "2015", "2015", "2015", "2015"]

然后像这样组合:

[{y: 100, d:2015},{y:87.5, d: 2004},{y:87.5, d:2015}},{y:87.5, d:2015}},{y:100, d:2015}},{y:100, d:2015}]

示例:https://jsfiddle.net/zidski/5808pgs4/3/

 var result = values.map(function (n, i) {
            return ({ y: n, d: values[i] });
        });

但是整个数组都被添加了。

最佳答案

您还需要迭代内部数组。

var date = [  ["2015", "2004", "2015", "2015", "2015", "2015"],  ["2015", "2004", "2015", "2015", "2015", "2015"],  ["2015", "2004", "2015", "2015", "2015", "2015"],  ["2015", "2004", "2015", "2015", "2015", "2015"],  ["2015", "2004", "2015", "2015", "2015", "2015"],  ["2015", "2004", "2015", "2015", "2015", "2015"]];

var values = [  [100, 87.5, 87.5, 87.5, 100, 100],  [87.5, 100, 100, 100, 87.5, 87.5],  [75, 75, 75, 75, 75, 75],  [50, 50, 50, 62.5, 62.5, 62.5],  [62.5, 62.5, 62.5, 50, 37.5, 50],  [0, 0, 0, 0, 0, 0]];

var result = values
  // iterate over the values array
  .map(function(arr, i1) {
    // iterate over the inner array
    // in case you just want the first element as in your example then 
    // remove the first map method and replace `arr` with `values[0]` and `date[i1][i2]`  with `date[0][i2]` 
    return arr.map(function(n, i2) {
      // generate the required array object based on index
      return {
        y: n,
        // get the period from 2d array date using index
        periods: date[i1][i2] 
      }
    });
  });



document.getElementById("data").innerHTML = JSON.stringify(result, null, 3);
<pre id="data"></pre>

关于javascript - 如何在javascript中组合多个嵌套数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46281762/

相关文章:

javascript - 展平嵌套的 ajax 请求

javascript - 如何旋转 HighCharts 条形图使其垂直而不是水平?

java - 是否可以为 Int 数组中的所有数字赋值?

arrays - 组合数组对的有效方法?

php - 根据数组中的值做出决策

c++ - 如何指定指向数组元素的成员指针?

javascript - 使用 fetch w/react js 访问返回的 promise 中的对象

javascript - 无法使用 search() API 的自定义正则表达式实现进行 stateSave

javascript - JSDoc - 从函数返回 * 是什么意思?

java - 打包数据到 byte[]