Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串中每个双字或三字的Javascript函数_Javascript_Jquery - Fatal编程技术网

字符串中每个双字或三字的Javascript函数

字符串中每个双字或三字的Javascript函数,javascript,jquery,Javascript,Jquery,这里我有一些javascript,可以为字符串中的每个单独单词运行一个函数: var input = 'this is some text'; var words = input.split(' '); $.each(words,function(i){ //Do something }); 但是我如何做类似的事情来为字符串中的每一对单词运行函数呢?像这样: 这是 是一些 一些文本 甚至三个字: 这是一些 这是一些文字 使用通用for循环,而不是使用foreach循环 var w

这里我有一些javascript,可以为字符串中的每个单独单词运行一个函数:

var input = 'this is some text';
var words = input.split(' ');
$.each(words,function(i){
    //Do something
});
但是我如何做类似的事情来为字符串中的每一对单词运行函数呢?像这样:

  • 这是
  • 是一些
  • 一些文本
甚至三个字:

  • 这是一些
  • 这是一些文字

使用通用
for
循环,而不是使用
foreach
循环

var words = "this is some text".split(' ');

// take the words 2 by 2
for (var i = 0; i < words.length - 1; ++i) {
    var currentWord = words[i],
        nextWord = words[i + 1];

    // do something
}

// take the words 3 by 3
for (var i = 1; i < words.length - 1; ++i) {
    var previousWord = words[i - 1],
        currentWord = words[i],
        nextWord = words[i + 1];

    // do something
}
var words=“这是一些文本”。拆分(“”);
//把单词2乘2
对于(变量i=0;i
你也可以处理一般情况

var PACKET_SIZE = 2;
var words = "this is some text".split(' ');

for (var i = 0; i <= words.length - PACKET_SIZE; ++i) {
    var packet = words.slice(i, i + PACKET_SIZE);

    // do something
}
var包大小=2;
var words=“这是一些文本”。拆分(“”);

对于(var i=0;i使用公共
for
循环,而不是使用
foreach
循环

var words = "this is some text".split(' ');

// take the words 2 by 2
for (var i = 0; i < words.length - 1; ++i) {
    var currentWord = words[i],
        nextWord = words[i + 1];

    // do something
}

// take the words 3 by 3
for (var i = 1; i < words.length - 1; ++i) {
    var previousWord = words[i - 1],
        currentWord = words[i],
        nextWord = words[i + 1];

    // do something
}
var words=“这是一些文本”。拆分(“”);
//把单词2乘2
对于(变量i=0;i
你也可以处理一般情况

var PACKET_SIZE = 2;
var words = "this is some text".split(' ');

for (var i = 0; i <= words.length - PACKET_SIZE; ++i) {
    var packet = words.slice(i, i + PACKET_SIZE);

    // do something
}
var包大小=2;
var words=“这是一些文本”。拆分(“”);

对于(var i=0;i只需使用增量为2或3的for循环:

for( var i = 0; i < words.length; i += 2 ) {
  //Do something with words[i]
}
for(变量i=0;i
只需使用增量为2或3的for循环:

for( var i = 0; i < words.length; i += 2 ) {
  //Do something with words[i]
}
for(变量i=0;i
您可以

var input = 'this is some text';
var words = input.split(' ');
var length = 2;
var str;
$.each(words, function(j) {
  str = "";
  for (i = 0; i < length && (j + i) < words.length; i++) {
    str += " " + words[j + i];
  }
  $("#container").append("<div>" + str + "</div>");
});
var输入='这是一些文本';
变量字=输入。拆分(“”);
var长度=2;
var-str;
$。每个(单词、函数(j){
str=“”;
对于(i=0;i
您可以通过更改
length
参数的值来更改图案长度

你可以做

var input = 'this is some text';
var words = input.split(' ');
var length = 2;
var str;
$.each(words, function(j) {
  str = "";
  for (i = 0; i < length && (j + i) < words.length; i++) {
    str += " " + words[j + i];
  }
  $("#container").append("<div>" + str + "</div>");
});
var输入='这是一些文本';
变量字=输入。拆分(“”);
var长度=2;
var-str;
$。每个(单词、函数(j){
str=“”;
对于(i=0;i
您可以通过更改
length
参数的值来更改图案长度


以下代码使用
split
函数为您提供一个单词数组,然后应用
map
将其转换为一个数组,每个数组的大小为n
join
函数用于将这些数组再次转换为空格分隔的字符串

var s=“这是由几个单词组成的文本”;
var n=2;
var结果=s.split(“”).map(函数(val、索引、arr){
返回arr.slice(索引,索引+n).join(“”);
});

警报(结果);
下面的代码使用
拆分
函数为您提供一个单词数组,然后应用
映射
将其转换为一个数组,每个数组的大小为n
连接
函数用于将这些数组再次转换为空格分隔的字符串

var s=“这是由几个单词组成的文本”;
var n=2;
var结果=s.split(“”).map(函数(val、索引、arr){
返回arr.slice(索引,索引+n).join(“”);
});

警报(结果);
只有一个循环的建议

函数getN(数组,n){ var结果=[]; forEach(函数(a,i,aa){
i+n只是一个有一个循环的提议

函数getN(数组,n){ var结果=[]; forEach(函数(a,i,aa){
i+n你的意思是在逗号上拆分吗?
words=input.split(',');
@PaulFitzgerald没有在空格上拆分,我使用的逗号只是表示分隔,你的意思是在逗号上拆分吗?
words=input.split(','));
@PaulFitzgerald没有空格分隔,我使用的逗号只是表示分隔不错的答案-我不喜欢使用正则表达式,因为我将覆盖大量文本:)我问-你有单词。slice(I,I+PACKET_SIZE)返回“this,is,some”…我如何得到PACKET=“this is some”?您可以再次加入数组。
words.slice(i,i+数据包大小)。join(“”)
回答很好-不喜欢使用正则表达式,因为我将覆盖大量文本:)我问-您有words.slice(i,i+数据包大小)返回“this,is,some”…我如何获得PACKET=“this is some”?您可以再次加入数组。
words.slice(i,i+数据包大小)。join(“”)
@Nina Scholz如何做:)@Nina Scholz如何做:)