javascript 批量添加密钥

javascript batch add keys

我想在 javascript 中设置数组的多个键,

但是这样的代码太难看了。但只有这样才能正常工作。

var listData = [];
listData['today'] = [];
listData['data1'] = [];
listData['data2'] = [];
listData['data3'] = [];
listData['data4'] = [];
listData['data5'] = [];
listData['data6'] = [];
listData['data6'] = [];

我试试这个来初始化数组

function initArray(arr, keys, defaultValue) {
    for (var i = 0; i < keys.length; i++) {
        var key = keys[i];
        delete arr[key];
        arr[key] = defaultValue;

    }
    return arr;
}

但是设置数组后,

我把数据放进去 listData['data1'].push(数据列表[i].num) listData['data2'].push(数据列表[i].num) . returns 数组中所有相同的 data1 和 data2。

希望有人可以帮助解决这批向数组添加键的问题。

使用对象而不是数组:

var listData = {};
var keys = ['today', 'data1', 'data2'];

function initObject(obj, keys, defaultValue) {
  keys.forEach(key => {
    obj[key] = [];
  })
  return obj;
}

console.log(initObject(listData, keys, []));

尝试修改此推送方式。

var listData = [];
var keys = [ 'today', 'data', 'daata' ]; 
initObject(keys);

function initObject(params) {
    for (i=0; i<params.length; i++) {
        var x = params[i]
        listData.push(x)
    }
}