如何在Javascript中将值保存到数组中保持旧值不变?

Suz*_*ioc 0 javascript arrays

Google可视化API需要这样的数组:

var data = google.visualization.arrayToDataTable([
         ['Element', 'Density', { role: 'style' }],
         ['Copper', 8.94, '#b87333'],            // RGB value
         ['Copper', 10.49, 'silver'],            // English color name
         ['Gold', 19.30, 'gold'],
         ['Gold', 21.45, 'color: #e5e4e2' ], // CSS-style declaration
      ]);
Run Code Online (Sandbox Code Playgroud)

我有单独的列数组

var columns = ['Copper', 'Copper', 'Gold', 'Gold'];
Run Code Online (Sandbox Code Playgroud)

对于价值观

var values = [8.94, 10.49, 19.30, 21.45];
Run Code Online (Sandbox Code Playgroud)

和颜色

var styles = ['#b87333', 'silver', 'gold', 'color: #e5e4e2'];
Run Code Online (Sandbox Code Playgroud)

我是否真的需要编写具有多个条件的多级循环来构建此数组?或者有更简单的方法?

我不能,push因为数组应该是完整的.

kin*_*ser 6

Array#map.

var columns = ['Copper', 'Copper', 'Gold', 'Gold'],
    values = [8.94, 10.49, 19.30, 21.45],
    styles = ['#b87333', 'silver', 'gold', 'color: #e5e4e2'],
    res = columns.map((v,i) => [v, values[i], styles[i]]),
    result = [['Element', 'Density', { role: 'style' }], ...res];
    console.log(result);
Run Code Online (Sandbox Code Playgroud)