如何在不编写迭代函数的情况下映射 JavaScript 可迭代对象?

int*_*ted 2 javascript iterable

例如Map.prototype.values,Javascript 中的某些方法返回一个可迭代对象。如果不编写函数来迭代这些值,我可以将它们映射到其他内容吗Array.prototype.map?有没有办法将可迭代的值实现为 Array 对象,然后我可以调用该对象map的方法?

或者我必须写一些类似的东西

function realize(it) {
  let result = Array();
  for (i of it) {
    result.push(i);
  }
  return result;
}
Run Code Online (Sandbox Code Playgroud)

每次我都需要在js中执行此操作?

Rob*_*sen 5

如果目标专门是将您的值映射到其他内容,则可以Array.from()与映射回调一起使用。

Array.from(iterable, x => x * 2);
Run Code Online (Sandbox Code Playgroud)

这可以避免构造中间数组以及对值进行两次迭代。就空间和时间复杂度而言,轻松击败扩展语法Array.from()的组合。Array.prototype.map()