嗨,这可能是一个简单的问题。所以我想在Javascript中创建一个基本的字形函数。
以下代码段不起作用
anagrams = (phraseOne, phraseTwo) => {
if (phraseOne.split("").sort() === phraseTwo.split("").sort()) {
return true
} else {
return false
}
}
然而,这确实是可行的
anagrams = (phraseOne, phraseTwo) => {
if (phraseOne.split("").sort().join("") === phraseTwo.split("").sort().join("")) {
return true
} else {
return false
}
}
为什么?在联接(“”)数组之前,它们是相同的
发布于 2019-07-18 17:50:42
这是因为在JS中,字符串是通过值比较的,而数组是通过引用比较的。你可以在这里找到更多关于比较的信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness
https://stackoverflow.com/questions/57091669
复制相似问题