gpt4 book ai didi

javascript - 删除每个元素后如何获取数组元素的所有组合

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:46:53 26 4
gpt4 key购买 nike

我想在删除每个元素后得到所有数组元素的所有组合

例如:

输入:[6,5,3,4]

输出应该是:[[5,3,4],[6,3,4],[6,5,4],[6,5,3]]

不使用任何库

我在这段代码中工作但没有输出正确的结果

    var arrs = [[]];

function doIt(arr) {
for (var i = 0; i < arr.length; i++) {
arrs[i] = arr.filter(function (item) {
return item != i
});
}

console.log(JSON.stringify(arrs));
}

doIt([4, 3, 1]);

最佳答案

您可以通过迭代给定数组和映射数组而不使用外部索引的元素来使用嵌套方法。

var array = [6, 5, 3, 4],
result = array.map((_, i) => array.filter((_, j) => i !== j));

console.log(result);

在您的代码中,您需要检查过滤器回调的索引而不是值。

var arrs = [[]];

function doIt(arr) {
for (var i = 0; i < arr.length; i++) {
arrs[i] = arr.filter(function (item, j) {
// ^ use index instead of value
return j != i;
// ^ here
});
}
console.log(arrs);
}
doIt([4, 3, 1]);

关于javascript - 删除每个元素后如何获取数组元素的所有组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48720878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com