根据几个单词搜索数组中的单词

时间:2019-01-17 05:37:12

标签: javascript arrays search

嗨,我有一个问题,该如何搜索包含至少一部分单词的单词。我的意思是具有在数组javascript中找到的单词的单词,但没有内置功能,只有PUSH。

此任务不需要index.of,slice,substr,substring,regex等。仅需PUSH

到目前为止,这是我的代码:

function wordsChecker(sentences, search) {
    var result = []
    for (var i = 0; i < sentences.length; i++) {
        var isCheck = false
        for (var j = 0; j < sentences.length; j++) {
            for (var k = 0; k < search.length; k++) {
                if (sentences[i][j] == search[k]) {
                    isCheck = true
                }
            }
        }
        if (isCheck == true) {
            result.push(sentences[i])
        }
    }
    return result
}

console.log(wordsChecker(['broom, room, rox, show room, stroom, root, rote, brother'], 'roo'))

//expected output : [broom, room, show room, stroom, root]

预先感谢

1 个答案:

答案 0 :(得分:1)

首先,您应该制作正确的数组。希望这段代码对您有用

function wordsChecker(sentences, search) {
    var result = [], k = 0;
    for (var i = 0; i < sentences.length; i++) {
        var isCheck = false;
        for (var j = 0; j < sentences[i].length; j++) {
            while (k < search.length) {
                if (sentences[i][j] == search[k]) {
                    isCheck = true;
                    k++;
                    break;
                } 
                else {
                  isCheck = false;
                  k = 0;
                  break;
                }
            }
        }
        if (isCheck === true && k === search.length) {
            result.push(sentences[i]);
            k = 0;
        }
    }
    return result;
}

console.log(wordsChecker(['broom', 'room', 'rox', 'show room', 'stroom', 'root', 'rote', 'brother'], 'roo'));