我使用文字作为字典,但第三方绑定工具只接受数组。
这是一种方法,还有更好的方法吗?
var arr = [];
$.each(objectLiteral, function () { arr.push(this); });
我使用文字作为字典,但第三方绑定工具只接受数组。
这是一种方法,还有更好的方法吗?
var arr = [];
$.each(objectLiteral, function () { arr.push(this); });
我认为您的解决方案没有任何问题。
这是一个较短的:
var arr = $.map(objectLiteral, function (value) { return value; });
你的方法很好,清晰易读。要在没有 jQuery 的情况下执行此操作,请使用以下for (..in..)
语法:
var arr = [];
for (prop in objectLiteral) {
arr.push(objectLiteral[prop]);
}
在香草JS中......
如果我们想转换一个对象字面量
var obj = {
species: 'canine',
name: 'Charlie',
age: 4
}
进入数组数组
[['species', 'canine'], ['name', 'Charlie'], ['age', 4]]
这是一种方法
function objToArr(obj){
var arr = [];
for (var key in obj){
arr.push([key, obj[key]]);
}
return arr;
}
const objectLiteral = { hell: 'devil' };
const ver1 = Object.keys(objectLiteral); // ['hell']
const ver2 = Object.values(objectLiteral); // ['devil']
const ver3 = Object.entries(objectLiteral); // [['hell', 'devil']]
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Object/keys https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects /Object/values https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Object/entries
在 ES2017 中,您现在可以使用Object.entries
ES6 解构支持,您可以很好地使用生成的数组,例如
Object.entries(objectLiteral).filter(([key, value]) => !!value).map(([key, value]) => key)
获取所有具有值的属性