如何提高javascript数组操作中嵌套循环的性能?
我做了一个编码挑战,要求通过只添加一次重复元素并保持数组元素的顺序,将数组的输入合并到一个新数组中。我的解决方案如下:如何提高javascript数组操作中嵌套循环的性能?,javascript,arrays,loops,big-o,Javascript,Arrays,Loops,Big O,我做了一个编码挑战,要求通过只添加一次重复元素并保持数组元素的顺序,将数组的输入合并到一个新数组中。我的解决方案如下: function union(arr){ let newArr = []; let length = arr.length; for(let i=0; i< length; i++){ for(let j=0; j<arr[i].length; j++){ if(!newArr.includes(arr[i][j])){ newArr.p
function union(arr){
let newArr = [];
let length = arr.length;
for(let i=0; i< length; i++){
for(let j=0; j<arr[i].length; j++){
if(!newArr.includes(arr[i][j])){
newArr.push(arr[i][j]);
}
}
}
return newArr;
功能联合(arr){
设newArr=[];
let length=arr.length;
for(设i=0;i 对于(假设j=0;j,如果允许的话,我建议将所有数组添加到集合
(重复项将被忽略),然后将集合转换回数组:
函数联合(输入){
常量集=新集(input.flat());
返回[…设置];
}
console.log(union([[2,3],[3,4]]);
如果允许的话,我建议将所有数组添加到集合中(重复项将被忽略),然后将集合转换回数组:
函数联合(输入){
常量集=新集(input.flat());
返回[…设置];
}
console.log(union([[2,3],[3,4]]);
可能更适合使用数组展开的第一个展开方法,然后从展开的数组中创建一个集合,该集合将删除重复项。您已经在O(n)中完成了此操作两行code@quirimmo你能详细介绍一下扁平阵列吗?也许更适合第一个扁平阵列的扁平方法,然后从扁平阵列中创建一个集来删除重复项。你已经在O(n)和两行中完成了code@quirimmo你能详细介绍一下扁平阵列吗?这正是我要做的:)我以为问题已经结束了,我只是放弃了一个评论而不是一个回答,这正是我要做的:)我以为问题结束了,我只是放弃了一个评论而不是一个回答