【发布时间】:2021-10-31 09:34:50
【问题描述】:
我有一个假设性问题要问你,所以请原谅代码。这个问题是关于我过去的一个测试,一个我想不通的答案,所以它不是“做作业”,只是为了满足我自己的好奇心。不幸的是,我没有保存任何代码。
假设我们有以下输入:
const input = [
["add", "Hello"],
["add", ", how"],
["add", "is it"],
["add", "going today?"]
]
如何获得以下输出:
["Hello",
"Hello, how",
"Hello, how is it",
"Hello, how is it going today?"]
我使用了一个输出数组 (output),循环通过 input,在每次迭代中,我将 input[0][1] 推送到 output,毫不奇怪,我构建了一个只有 input[0][i] 的数组。非常粗略的例子:
const output = [];
for (let i = 0; i < input.length; i++ {
output.push(input[0][i];
}
=> ["Hello", ", how", "is it", "going today?"]
我有一些关于如何去的想法,但不幸的是没时间了。一种想法是遍历“输出”数组并尝试 += 一个字符串,然后遍历该字符串(在构建时)推入最终数组。另一种方式是某种字符串生成器,我想不通。
抱歉,如果这很简单,我还在学习。
【问题讨论】:
-
在你的例子中你的意思是
Hello, how is it going today?吗?你说Hello, how is it going? -
我的同事@nick-schmitt 指出,如果有一个前一个或最后一个变量,它会指向前一个输出中的任何内容,并将迭代的元素添加到该变量中,这是可行的。
-
感谢您指出这一点!我希望修正我的错字。显然我需要更多的咖啡哈哈
标签: javascript arrays string algorithm