Javascript - 将句子拼成多个单词到Json数组

Net*_*ter 0 javascript search jquery json elasticsearch

我正在尝试搜索将句子分成单词或更小句子的内容.我不知道如何准确理解,但我可以举出你的榜样.

假设我有一个句子 The quick brown fox jumps over the lazy dog

我想在json数组中这样做 ["The","The quick","The quick brown","The quick brown fox","The quick brown fox jumps","The quick brown fox jumps over","The quick brown fox jumps over the","The quick brown fox jumps over the lazy","The quick brown fox jumps over the lazy dog"]

我不知道应该如何用技术术语解释,但我希望我已经给出了适当的例子

更新1:

我很抱歉只是点击了我的想法,我想要一点不同的结果.例句It is my dream

预期结果 ["It", "It is", "It is my", "It is my dream","is", "is my", "is my dream", "my", "my dream"]

Jor*_*lez 6

正如@Leguest所述,JSON数组以[]括号开头和结尾,所以应该这样:

["The","The quick","The quick brown","The quick brown fox","The quick brown fox jumps","The quick brown fox jumps over","The quick brown fox jumps over the","The quick brown fox jumps over the lazy","The quick brown fox jumps over the lazy dog"]
Run Code Online (Sandbox Code Playgroud)

我可以想办法做到这一点.简单地拆分和循环:

var phrase = "The quick brown fox jumps over the lazy dog".split(" ");
var arr = [];
var str = "";
for (var i = 0; i < phrase.length; i++) {
    str += phrase[i] + " ";
    arr.push(str.trim());
}
console.log("Array:", arr);
console.log("Array string:", JSON.stringify(arr));
Run Code Online (Sandbox Code Playgroud)

请注意,对于可读性摇动,这不是高效的(trim对每个添加的单词执行操作).如果你想要一种高效的方法,你可以做到这一点(只需要很小的改动来检测第一个单词):

var phrase = "The quick brown fox jumps over the lazy dog".split(" ");
var arr = [];
var str = "";
for (var i = 0; i < phrase.length; i++) {
    if (i > 0) {
        str += " ";
    }
    str += phrase[i];
    arr.push(str);
}
console.log("Array:", arr);
console.log("Array string:", JSON.stringify(arr));
Run Code Online (Sandbox Code Playgroud)