javascript - 为什么它推送参数名称而不是元素? JavaScript

标签 javascript arrays regex sorting object

信息: 我正在将一个名称数组排序为两个数组,一个名称以 A-M 开头,另一个以 N-Z 开头。我希望每个条目都是一个对象,名称作为属性,空字符串作为值,就像这样 --> {'Name' : ' '} 但是所有条目都是这样的 --> {val: ' '}

这就是我推送条目的方式 --> arrAM.push({val: ' '});

问题:我需要如何修改 ^^^^ 这个方法来获取其中的 Name 而不是 val。感谢您的帮助!

var separate = function(array){
  var arrAM = [];
  var arrNZ = [];
  _.each(array, function(val){

    if (/^[a-m]/i.test(val)){
        arrAM.push({val: ''});
    }
    else{
        arrNZ.push({val: ''})
    }
})
return arrAM;
}

最佳答案

ES6 有一个语法糖 computed property names在对象初始值设定项中:

arrAM.push({[val]: ''});

ES6 之前的版本要求您在单独的语句中使用方括号语法:

var obj = {};
obj[val] = '';
arrAM.push(obj);

关于javascript - 为什么它推送参数名称而不是元素? JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40188819/

相关文章:

javascript - 在 svelte 中使用后退按钮事件监听器

javascript - 使用纯 Javascript 或 Typescript 删除数组中的重复项

javascript - 需要在一个 onDateChange 上调用 2 个不同的函数

javascript - 将 JSON 数据插入悬停 div,匹配员工

Javascript - 排序数组时忽略引号

使用指针和数组正确调用函数

regex - Pig - 移除换行、回车和制表符

python - 如何仅在字符串的开头/结尾替换非字母数字字符?

regex - 带组的 Perl 正则表达式替换

javascript - 如何设置数据表?