【发布时间】:2021-07-12 04:27:31
【问题描述】:
我有一个数组数组,当我用 foreach 遍历它们时,我尝试在项目上调用 flatmap,但是 js 说 flatmap 不是函数
var arrayItems = [];
arrayItems.push(["a", "b", "c", "d", "e"]);
arrayItems.push(["c", "d", "e", "f"]);
arrayItems.push(["c", "e", "f", "g", "h"]);
arrayItems.push(["e", "f", "g", "h"]);
var variations = generate_variations(arrayItems);
function generate_variations(arrayItems) {
var variations = [];
//https://*.com/questions/43241174/javascript-generating-all-combinations-of-elements-in-a-single-array-in-pairs/43241287
arrayItems.forEach(([key, value]) =>
variations.push(value.flatMap(
(v, i) => value.slice(i + 1).map(w => [v, w])
)));
return variations;
}
console.log(variations);
这是一个来自Javascript - Generating all combinations of elements in a single array (in pairs)的简单平面图(我试图将它放在for循环中)
var array = ["apple", "banana", "lemon", "mango"];
var result = array.flatMap(
(v, i) => array.slice(i + 1).map(w => [v, w])
);
console.log(result);
【问题讨论】:
-
arrayItems.forEach(([key, value]) =>这不是forEach传递给回调的内容。 -
key是嵌套数组的第一个元素,value是第二个元素。所以它们都是字符串,value不是数组。 -
您似乎将此与
Object.entries()混淆了 -
哦,哇,没听说过,现在试试 :) developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
-
你认为你为什么需要它?你没有使用
key做任何事情。
标签: javascript arrays methods