prototypeJS 库有一个 Object.values() 方法,它返回对象中的值数组。
例如:
var myObj = {
"key1" : "val1"
"key2" : "val2"
}
Object.values(myObj) //returns ["val1", "val2"]
有没有做同样事情的jQuery方法?
prototypeJS 库有一个 Object.values() 方法,它返回对象中的值数组。
例如:
var myObj = {
"key1" : "val1"
"key2" : "val2"
}
Object.values(myObj) //returns ["val1", "val2"]
有没有做同样事情的jQuery方法?
prototypejs 的values
方法扩展了 JavaScript 的内置Object
对象。没有什么能阻止你做同样的事情:
Object.values = function(object) {
var values = [];
for(var property in object) {
values.push(object[property]);
}
return values;
}
var foo = {a:1, b:2, c:3};
console.log(Object.values(foo));
// [1, 2, 3]
或者,如果您不想篡改,可以将上述方法添加到 jQuery 对象Object
:
$.values = function() { ... }
使用 ES6,您可以执行以下操作:
Object.values = x =>
Object.keys(x).reduce((y, z) =>
y.push(x[z]) && y, []);
这只是返回一个包含对象值的数组。不需要 JQuery、_ 或其他任何东西。
注意: Object.values()
目前处于 ES7 草案中
使用 babel,安装
提供支持Object.values/Object.entries
以及其他ES2017
功能。
根据模块的建议,.babelrc
使用以下内容配置文件:
{
"plugins": ["transform-runtime"],
"presets": ["es2017"]
}
Underscorejs有_.values
方法:
_.values({one : 1, two : 2, three : 3}); => [1, 2, 3]
这个库很好地增强了 JQuery - 以及在prototypejs 中出色地工作。