gpt4 book ai didi

javascript - 从字符串生成 block

转载 作者:行者123 更新时间:2023-11-29 10:30:40 26 4
gpt4 key购买 nike

before going to problem, i want to generate dynamically like

temp = word[i] for 2,

temp = word[i-1] + word [i] for 3,

temp = word[i-2] + word[i-1] + word [i] for 4

我用代码解释了我尝试过的东西

function produceTwoChArray(word) {
var temp = "";
var tempArr = [];

for (var i = 0; i < word.length; i++) {
temp += word[i];
if (temp.length === 2) {
tempArr.push(temp);
}
temp = word[i];
}
return tempArr;
}
produceTwoChArray("breaking")

以上代码将产生如下结果:

 ["br", "re", "ea", "ak", "ki", "in", "ng"]

所以在 for 循环中,如果我更改为以下代码以生成三个字母,则

    if (temp.length === 3) {
tempArr.push(temp);
}
temp = word[i-1] + word[i];

结果:

["bre", "rea", "eak", "aki", "kin", "ing"]

所以添加临时长度为 3、4 的 word[i-1]、word[i-2] 等等。

为了动态创建临时语句,我创建了这些函数

1)

function generateWordSequence(n) {
var n = n - 2;
var temp1 = [];
for (var j = n; j >= 0; j--) {
temp1.push("word[i - " + j + "]");
}
temp1 = temp1.join('+').toString();
return temp1;
}

2)

function generateWordSequence(n, word) {
var n = n - 2;
var temp1 = "";
for (var j = n; j >= 0; j--) {
temp1 = temp1 + word[i - j];
}
return temp1;
}

但是上面的两个尝试都以字符串形式返回,所以它没有用。当我像这样在 produceTwoChArray fn 中调用上面的 fn 时

function produceTwoChArray(word, n) {
var temp = "";
var tempArr = [];
var retVar = generateWordSequence(n, word);

for (var i = 0; i < word.length; i++) {
temp += word[i];
if (temp.length === n) {
tempArr.push(temp);
}

temp = retVar;

}
return tempArr;
}

当我尝试 produceTwochArray 本身的所有逻辑时,我也没有工作。

请帮帮我。

最佳答案

您可以采用带有映射部分字符串的双切片。

function part(string, count) {
return [...string.slice(count - 1)].map((_, i) => string.slice(i, i + count));
}

console.log(part("breaking", 2));
console.log(part("breaking", 3));
console.log(part("breaking", 4));

关于javascript - 从字符串生成 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46926197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com