elasticsearch,Javascript,Jquery,Json,Search,elasticsearch" /> elasticsearch,Javascript,Jquery,Json,Search,elasticsearch" />

Javascript-将句子拆分为多个单词到Json数组

Javascript-将句子拆分为多个单词到Json数组,javascript,jquery,json,search,elasticsearch,Javascript,Jquery,Json,Search,elasticsearch,我试着搜索一些把句子分成单词或更小的句子的东西。我不知道如何确切地理解它,但我可以给你举个例子 假设我有一句话,敏捷的棕色狐狸跳过了懒狗 我希望这个在json数组中作为 [“那只”、“那只快跑的”、“那只快跑的棕色狐狸”、“那只快跑的棕色狐狸跳”、“那只快跑的棕色狐狸跳过去”、“那只快跑的棕色狐狸跳过去”、“那只快跑的棕色狐狸跳过去懒惰的狗”] 我不知道应该如何用技术术语来解释,但我希望我已经给出了适当的例子 更新1: 我很抱歉刚才在我的脑海中出现了一把小提琴,我想要一点不同的结果。例句这是我的

我试着搜索一些把句子分成单词或更小的句子的东西。我不知道如何确切地理解它,但我可以给你举个例子

假设我有一句话,敏捷的棕色狐狸跳过了懒狗

我希望这个在json数组中作为
[“那只”、“那只快跑的”、“那只快跑的棕色狐狸”、“那只快跑的棕色狐狸跳”、“那只快跑的棕色狐狸跳过去”、“那只快跑的棕色狐狸跳过去”、“那只快跑的棕色狐狸跳过去懒惰的狗”]

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

更新1:

我很抱歉刚才在我的脑海中出现了一把小提琴,我想要一点不同的结果。例句
这是我的梦想


预期结果
[“它”、“它是”、“它是我的”、“它是我的梦”、“是”、“是我的”、“是我的梦”、“我的”、“我的梦”]
正如@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"]
我可以想出一个办法。简单地拆分和循环:

var phrase=“敏捷的棕色狐狸跳过懒狗”。拆分(“”);
var-arr=[];
var str=“”;
对于(var i=0;ilog(“数组字符串:”,JSON.stringify(arr))如果您想要一个不涉及迭代的答案,这可能是您需要的:

函数getresult(总计,当前){
total.length!=0?total.push(total[total.length-1]。拆分(“”)。concat([current])。连接(“”):total.push(current);
返回总数;
}
var data=“敏捷的棕色狐狸跳过懒狗”;
var dataArr=data.split(“”);
var results=dataArr.reduce(getresult,[]);

控制台日志(结果)你能试试这个吗?我写了一个更容易理解的解决方案

string = "Hello how are you my dear?";
function get(string) {
    var ret = [];
    var data = string.split(" ");
    var s = "";
    for(var i = 0; i < data.length;i++) {
        s += data[i] + " ";
        ret.push(s.replace(data[i] + " ",data[i]));
    }
    return ret;
}
预期产出:

["how", "how are", "how are you", "how are you my", "how are you my dear?"]
["are", "are you", "are you my", "are you my dear?"]
["you", "you my", "you my dear?"]
["my", "my dear?"]

数组是括号,你可以做简单的“棕色狐狸跳过懒狗”。拆分(“”)
,但这不会给我这样的结果,我相信它会给我一个单个单词的数组,你必须自己构建这个数组,如果这是你要问的,没有内置的。到底是什么导致了你的问题?我知道循环是可以做到的,但是一遍又一遍地重复单词,每次都附加它们是有点困难的tricky@ILadis但这并没有达到预期的效果。你让它看起来很简单,需要改变。实际上,我想把它作为输出
[“它”、“它是”、“它是我的”、“它是我的梦”、“是”、“是我的”、“是我的梦”、“是我的”、“我的梦”]
这是我的梦想
不,很抱歉,它只是在我的脑海中点击了一下,所以问道,你介意解释一下这里发生了什么吗,特别是
reduce
getresult
函数。@Yaskier你能帮我更新一下问题吗?
get(string,1);
get(string,2);
get(string,3);
get(string,4);
["how", "how are", "how are you", "how are you my", "how are you my dear?"]
["are", "are you", "are you my", "are you my dear?"]
["you", "you my", "you my dear?"]
["my", "my dear?"]