在Array.prototype.map的回调内部,引用新数组

时间:2015-01-28 15:38:21

标签: javascript arrays

Array.prototype.map()返回一个新数组。我想在作为参数传递给Array.prototype.map()的回调函数中引用这个新数组。我能这样做吗?

实施例

someArray.map(function(item, idx, arr) {
    return { theCreatedArray: xyz };
});

xyz应该是什么?

编辑[背景]

为什么我要这个?我在回调中创建的对象是一种类型,它依赖于引用该对象的数组的引用。我不能这么容易地重构这个要求。我宁愿满足它。

1 个答案:

答案 0 :(得分:4)

您无法使用.map()执行此操作,但可以使用.reduce()执行此操作:

someArray.reduce(function(rv, item, idx) {
  // rv is the return value, in this case your array
  rv.push({whatever: rv});
  return rv;
}, []);