如果有一个 JavaScript 对象:
var objects={...};
假设一个对象拥有50个以上的属性,不知道这些属性名(也就是不知道'keys'),如何在循环中获取每个属性的值?
var objects={...};
假设一个对象拥有50个以上的属性,不知道这些属性名(也就是不知道'keys'),如何在循环中获取每个属性的值?
function array_values(input) {
var output = [], key = '';
for ( key in input ) { output[output.length] = input[key]; }
return output;
}
如果您使用ES6或更高版本,以下是获取对象值的方法:
Array.from(values(obj));
var objects={...}; this.getAllvalues = function () {
var vls = [];
for (var key in objects) {
vls.push(objects[key]);
}
return vls;
}
在 ECMAScript5 中使用
keys = Object.keys(object);
for..in 循环
。for (key in object) {
// your code here
}
object[key]
来获取值。 - fridojetfor..in
(和hasOwnProperty)完成,所以它并没有真正获得什么.. 我希望ECMAScript 5th定义了Object.pairs
(和Object.items
用于[[key, value], ..]),但不幸的是,它没有。 - user2246674现在我使用Dojo Toolkit,因为旧浏览器不支持Object.values
。
require(['dojox/lang/functional/object'], function(Object) {
var obj = { key1: '1', key2: '2', key3: '3' };
var values = Object.values(obj);
console.log(values);
});
输出:
['1', '2', '3']
使用
console.log(variable)
如果您使用Google Chrome,请通过按Ctrl + Shift + j打开控制台
进入 >> 控制台