我有一个包含以下内容的 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/