javascript - 将数组转换为对象+设置属性名称

标签 javascript arrays

我有一个具有可变属性名称的对象,我将其转换为数组:

var test = Object.getOwnPropertyNames(obj); //[a, b, c]

现在我已经得到了属性名称数组。 我想要采取的下一步是将这个数组转换为一个对象数组,如下所示:

newObj= [ { "name": a }, {"name": b} , {"name" : c }]

我怎样才能实现这一目标?

最佳答案

您可以利用Array.prototype.map - 它通过对每个项目应用一个函数将序列转换为新数组,该函数包装到具有name属性的对象在你的情况下:

var names = ["a", "b", "c"];
var newObj = names.map(function(n) { return { name: n }; });

console.log(newObj);

结合您的 getOwnPropertyNames 用法,它可能如下所示:

var newObj = Object.getOwnPropertyNames(obj).map(function(n) { return { name: n }; });

关于javascript - 将数组转换为对象+设置属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38349770/

相关文章:

javascript - Backbone 和 bindAll : "func is undefined"

javascript - 函数定义中使用的命名数组元素

javascript - 将对象转换为数组 (javascript)

PHP 和 MySQL - 使用数组填充选择下拉列表

ruby-on-rails - 嵌套哈希解释为数组

javascript - AJAX无法加载URL

javascript - 使用JavaScript存储和返回用户信息

javascript - Cordova:卡在 createbanner() 上的 AdModPro 插件

javascript - 字符串旋转和字谜检测

c - 在 PIC18 上声明大型数组