gpt4 book ai didi

JavaScript 比较

转载 作者:行者123 更新时间:2023-11-30 12:40:46 29 4
gpt4 key购买 nike

为什么我在 if 中的比较不起作用?答案应该是 8 但它返回 0。

   function findMissing(missingArray){
var getArray = missingArray.sort();
var myArray = [0,1,2,3,4,5,6,7,8,9];
for(var i=0 ; i< myArray.length ; i++){
for(var j=0 ; j< getArray.length ; j++){
if(myArray[i] != getArray[j]){
return i;
}
}
}
}
findMissing([0,3,4,5,7,2,9,1,6]);

最佳答案

您可以简单地通过 1 个循环和数组搜索来找到丢失的元素。循环遍历两个数组索引每次都会更改,并且该比较无效。

没有多余的装饰

 function findMissing(missingArray){
var getArray = missingArray.sort();
var myArray = [0,1,2,3,4,5,6,7,8,9];
for(var i=0 ; i< myArray.length ; i++){
if(getArray.indexOf(myArray[i])==-1)
return i;
}

}
alert(findMissing([0,3,4,5,7,2,9,1,6])); //8

编辑,装饰版事实上,您可以创建一个包含所有缺失元素的数组,而不仅仅是一个。那该多好

 function findMissing(missingArray){
var getArray = missingArray.sort();
var myArray = [0,1,2,3,4,5,6,7,8,9];
var returnArray=[];
for(var i=0 ; i< myArray.length ; i++){
if(getArray.indexOf(myArray[i])==-1)
returnArray.push(myArray[i]);
}
return returnArray;
}

Fiddle

关于JavaScript 比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24524648/

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