【发布时间】:2018-08-19 00:06:04
【问题描述】:
我正在做一个练习(自学),其中我必须有一个数组,其中有一个字符串被插入其中 n 次。
我有这个
var splitTxt = [];
for(i=0 ; i<n ; i++)
{
splitTxt += text.split('');
}
text 是函数中给出的字符串。我环顾四周,但只看到有关如何将字符和其他字符串等添加到数组末尾的建议。
添加拆分通常会产生所需的结果,但是,当像这样循环它时,我在数组中的每个索引中都得到一个逗号。这里发生了什么,我该如何正确地做到这一点?
我可以这样做:
for(i=0 ; i<n ; i++)
{
splitTxt.push(text.split(''));
}
但这会产生一个嵌套数组,这是不希望的。
我也可以这样做:
var secondChar = [].concat(...Array(n).fill(text.split('')));
但是,同样,嵌套数组。不过我喜欢这个,使用数组构造函数来搞乱它,非常聪明。 @CertainPerformance here
给出的答案编辑:对不起,我不够清楚。我想像这样多次将它拆分为数组:
var text = "hello there!";
n = 3;
desired result: ["h","e","l","l","o"," ","t","h","e","r","e","!","h","e","l","l","o"," ","t","h","e","r","e","!","h","e","l","l","o"," ","t","h","e","r","e","!"]
【问题讨论】:
-
你能举一个输入
text、n和期望输出的例子吗?您的splitTxt += text.split('');正在使用splitTxtarray 上的加法运算符,这可能不是您想要的,因为它导致splitTxt被重新分配给 string 而不是一个数组。 -
好像
[...text.repeat(n)] -
@CertainPerformance 感谢您的意见,我希望我在问题中提到我没有粗鲁地召唤您 :) 我不熟悉 stackexchange 的语法。我在您的请求中附加了我的问题。
-
不,问题中的@-提及不会通知用户,我只是经常浏览新问题:)
-
@ErikPhilips 虽然要求使用一些相同的方法,但这是一个独特的问题,因为 3x 的迭代并将它们推入新数组。
标签: javascript arrays