Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象的映射函数_Javascript - Fatal编程技术网

Javascript 对象的映射函数

Javascript 对象的映射函数,javascript,Javascript,我一直在使用下划线.js的映射函数,这对我来说做得很好。我正在寻找一种使用纯javascript复制此内容的方法 var fields = _.map(data.filters, function(values, key) { var name = key.replace(/(_Range|_Options)$/, ""); var data = values[0]; var min = data.min; }); 基本上,它接受一个对象,对每个元素执行一些操作,然后返

我一直在使用下划线.js的映射函数,这对我来说做得很好。我正在寻找一种使用纯javascript复制此内容的方法

var fields = _.map(data.filters, function(values, key) {
    var name = key.replace(/(_Range|_Options)$/, "");
    var data = values[0];
    var min = data.min;
});
基本上,它接受一个对象,对每个元素执行一些操作,然后返回一个对象数组。 存在Array.map()。我正在寻找的是一种允许我传递对象的解决方案。

使用获取一组键,然后可以使用

注意:不要忘记从映射返回,否则结果将是一个
未定义的数组

var fields = Object.keys(data.filters).map(function(key) {
    var name = key.replace(/(_Range|_Options)$/, "");
    var data = data.filters[key][0];
    var min = data.min;

    return {
      name,
      data
    };
});
比如:

function forEach(object, fn) { 
    Object.getOwnPropertyNames(object).map(key => fn(key, object[key])); 
}
使用方法:

forEach({"a":1,"b":2}, (k, v) => console.log(k, v));