gpt4 book ai didi

javascript - 我怎样才能找到是否所有的 string2 字母也包含在 string1 的某个地方?

转载 作者:行者123 更新时间:2023-11-29 19:23:58 25 4
gpt4 key购买 nike

我正在尝试比较两个字符串,以查看一个字符串的所有输入是否也在另一个字符串中,而不管顺序如何。

到目前为止,我有以下代码...

我做错了什么?

var str1= "rkqodlw"
var str2= "world"

StringScrambler(str1, str2);

function StringScrambler(str1, str2) {
var string1= str1.split("").sort();
console.log(string1);
var string2 = str2.split("").sort();
console.log(string2);
matches = [];
for (i=0; i< string1.length; i++) {
for (j=0; j<string2.length; i++) {
while (j === i) {
matches.push(j);
console.log(matches);
var matchSort = matches.sort();
console.log(matchSort);
if (matchSort === string2) {
return true;
}else {
return false;
}
}
}
}
}

最佳答案

到目前为止所有的答案都很好,但它们不适用于第二个字符串中有双字母但第一个字符串中没有的单词(例如,'world' - 注意双 L)。诀窍是影响第一个单词,使其删除找到的字符,这样就不会再次检查同一个字母。像这样的东西就可以了:

// Check if the second string's characters are
// found in the first string
function StringScrambler(str1, str2) {
var arr1 = str1.split(''),
arr2 = str2.split(''),
isATrueSubset = true,
indexOfChar;

arr2.forEach(function(char) {
indexOfChar = arr1.indexOf(char);
if (indexOfChar > -1) {
// Remove the character that was found
// to avoid matching against it again
arr1.splice(indexOfChar, 1);
} else {
isATrueSubset = false;
// No need to continue
return;
}
});

console.log(isATrueSubset);
return isATrueSubset;
}

StringScrambler('rkqodlw ', 'world '); // outputs true
StringScrambler('rkqodlw ', 'worlld '); // outputs false

关于javascript - 我怎样才能找到是否所有的 string2 字母也包含在 string1 的某个地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31670260/

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