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

How can I map a javascript array to another one with different field names?

本文关键字:数组 另一个 字段 映射 javascript 一个      更新时间:2023-09-26

我有一个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}]

使用本机map函数可以这样做:

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

如果您需要对旧浏览器的支持,请检查下划线版本,如果可用,该版本将使用该函数的本机版本,如果不可用,则使用polyfill。

如果你需要对旧浏览器的支持,并且不想包含额外的库,你就必须自己做一个循环:

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