我正在努力加強我的JavaScript技能與代碼上的一些katas。這裏有一個這樣的kata:有人可以幫助解釋爲什麼我得到這個'價值不是預期的'錯誤與Javascript?
在求職面試中,您有責任編寫一個算法來檢查給定字符串s是否可以由其他兩個字符串part1和part2組成。
限制是part1和part2中的字符與s中的字符順序相同。
面試官給你下面的例子,告訴你從給定的測試用例中找出其餘的部分。
例如:
'codewars' 是 'CDW' 和 'oears' 合併:
s: c o d e w a r s = codewars part1: c d w = cdw part2: o e a r s = oears
這裏是我的解決方案,我的工作:
function presentInString(element, index, array) {
return string.includes(element);
}
function isMerge(s, part1, part2) {
string = s;
var mergedParts = (part1 + part2).split('');
mergedParts.every(presentInString);
}
我的方法很簡單,我得到一個字符串'codewars'
並與零件'cdw'
和'oears'
傳遞上面的m方法應該返回true,因爲所有的字符都在字符串中。但我不斷收到Value is not what was expected
錯誤。我必須使用.every
方法錯誤,但我不知道如何。我非常基於Javascript MDN文檔。有人能找出我做錯了什麼嗎?
- 這是一個卡塔正在進行的方式,我沒有測試所有的邊緣情況。有些情況會失敗。
此外,我是否必須創建另一個功能進入.every
?我寧願在.every
範圍內的邏輯正確,而不是寫另一個函數來傳遞。
謝謝@ T.J。克勞德。這是我需要習慣從Ruby轉移的東西。我感謝你指出了這一點。一旦時間限制解除,我會接受。 –
@DanRubio:啊,當然! Ruby和CoffeeScript都是這樣做的。我確實認爲它看起來有點像。 –