javascript比较数组中的两个字符串以查看它们是否相等
我试图比较hello和hey这两个词,如果它们相等,我的代码返回true,但它们不是。如何修改代码,使其在比较两个单词时返回falsejavascript比较数组中的两个字符串以查看它们是否相等,javascript,Javascript,我试图比较hello和hey这两个词,如果它们相等,我的代码返回true,但它们不是。如何修改代码,使其在比较两个单词时返回false function mutation(arr) { var sorted =[]; for (var i =0; i<arr.length; i++) { sorted.push(arr[i].toLowerCase()); } for (var j =0; j<sorted.length;j++) { for(
function mutation(arr) {
var sorted =[];
for (var i =0; i<arr.length; i++) {
sorted.push(arr[i].toLowerCase());
}
for (var j =0; j<sorted.length;j++) {
for(var k=0; k<sorted.length; k++) {
if(sorted[j] == sorted[k]) {
return true;
} else{
return false;
}
}
}
}
mutation(["hello", "hey"]);
功能突变(arr){
var排序=[];
对于(var i=0;i只需将第二个循环更改为从j+1开始,因为您实际上是在比较0和0的位置
for(var k=j+1; k<sorted.length; k++) {
for(var k=j+1;k给定“突变”参数的代码样本有2项。我的解决方案还假设arr是一个包含2项的数组
function mutation(arr) {
if(arr[0] !== arr[1]) {
return false;
}
return true;
}
mutation(["hello", "hey"]);
您的代码令人困惑。它似乎假设数组中只有两个元素。这是正确的吗?那么为什么不使用arr[0]。toLowerCase()===arr[1]。toLowerCase()
?与这种O(n²)方式搜索单个重复项相比,这是非常简短和快速的:newset(arr).size!==arr.length
但是代码的作用(在按照答案中的建议更正k循环之后)和文本所说的是不同的东西您有两个字符串,您需要函数?如果他或她在一个数组中有两个字符串。您只能使用数组[0]==array[1]?这个问题太有趣了:)