javascript - 如何将一个 JavaScript 数组映射到另一个具有不同字段名称的数组?

标签 javascript

我有一个包含以下内容的 JavaScript 变量:

var qh = [{"i":1,"q":1},{"i":2,"q":2},{"i":167,"q":2192}]

我需要将其映射到另一个变量来制作:

var qq = [{"i":1,"a":1},{"i":2,"a":2},{"i":167,"a":2192}]

最佳答案

使用 native map函数你可以这样做:

var qq = qh.map(function(el) { return { i: el.i, a: el.q } });

如果您需要对旧版浏览器的支持,请查看underscore版本,如果可用,将使用该函数的 native 版本,如果没有,则对其进行填充。

如果您需要对旧版浏览器的支持并且不想包含额外的库,则必须自己循环完成这项工作:

var qq = [];
for (var i = 0, obj; i < qh.length; i ++) {
    obj = qh[i];
    qq.push({ 'i': obj.i, 'a': obj.q });
}

关于javascript - 如何将一个 JavaScript 数组映射到另一个具有不同字段名称的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20072278/

相关文章:

javascript - 获取浏览器+平台键盘修饰符

javascript - 正则表达式从属性查找图像 src/路径

javascript - Strophe 添加名册联系人

javascript - 如何从 Firefox 插件中加载文件

javascript - 在 Windows 8 JS 应用程序中集成 Facebook SDK

javascript - 如何多次传递一个html对象

javascript - 滚动时如何阻止图像向下移动?

javascript - 如何在React Native中完全关闭应用程序后保留应用程序的内存

javascript - 将第二个子导航添加到 Accordion 样式菜单

javascript - 同一类的多个实例的事件处理——需要说明