Javascript:复制数组中的每个字符串值
在谷歌上搜索了一会儿,但找不到我的答案。我试图将一个3个字符的字符串转换为一个6个字符的字符串,其中3个字符中的每一个都是重复的 例如,Javascript:复制数组中的每个字符串值,javascript,arrays,Javascript,Arrays,在谷歌上搜索了一会儿,但找不到我的答案。我试图将一个3个字符的字符串转换为一个6个字符的字符串,其中3个字符中的每一个都是重复的 例如,3ff将变成33ffff 首先,我将字符串3ff转换为数组[“3”,“f”,“f”] 转换为数组后,我尝试映射数组和*2每个值,希望得到新数组[“33”,“ff”,“ff”] 但是,我得到了新的数组[6,NaN,NaN] 我知道3乘以2等于6,JS不知道如何乘以字符串,所以我们得到NaN 我认为在Python中,如果您尝试*2一个字符串值,它只会复制该值,就像e
3ff
将变成33ffff
首先,我将字符串3ff
转换为数组[“3”,“f”,“f”]
转换为数组后,我尝试映射数组和*2
每个值,希望得到新数组[“33”,“ff”,“ff”]
但是,我得到了新的数组[6,NaN,NaN]
我知道3乘以2等于6,JS不知道如何乘以字符串,所以我们得到NaN
我认为在Python中,如果您尝试*2
一个字符串值,它只会复制该值,就像eggs
将变成eggseggs
。在JS中不是这样吗
这是我的密码:
const duplicate = function(v) {
newArray = v.split("");
doubledArray = newArray.map(i => i*2);
return doubledArray
};
console.log(duplicate("3ff")) // Output: [6, NaN, NaN]
是否有一种方法可以在JavaScript中复制数组的字符串值,而不仅仅是数字值?您可能希望使用
.repeat()
函数,如:
constduplicate=(v)=>v.split(“”).map(i=>i.repeat(2));
控制台日志(重复(“3ff”)
您可能希望使用.repeat()
函数,如:
constduplicate=(v)=>v.split(“”).map(i=>i.repeat(2));
控制台日志(重复(“3ff”)代码>这可以帮助您
const duplicate=函数(v){
return[…v].map(i=>i.toString()+i).join(“”);
};
console.log(复制(“3ff”))
这可以帮助您
const duplicate=函数(v){
return[…v].map(i=>i.toString()+i).join(“”);
};
log(重复(“3ff”)
试试这个
const duplicate = function(v) {
newArray = v.split("");
doubledArray = newArray.map(i => i + i);
return doubledArray.join("")
};
console.log(duplicate("3ff"));
试试这个
const duplicate = function(v) {
newArray = v.split("");
doubledArray = newArray.map(i => i + i);
return doubledArray.join("")
};
console.log(duplicate("3ff"));
请像这样跟着我
doubledArray = newArray.map(i => i+''+i);
因为我可能是一个数字,所以你应该添加字符串。请像这样跟随
doubledArray = newArray.map(i => i+''+i);
因为我可能是一个数字,所以您应该添加字符串。您可以使用字符串concatation
const duplicate=函数(v){
return[…v].map((c)=>`${c}${c}`);
};
控制台日志(重复(“3ff”)代码>您可以使用字符串浓缩
const duplicate=函数(v){
return[…v].map((c)=>`${c}${c}`);
};
控制台日志(重复(“3ff”)代码>无需为此使用数组:
console.log('abc'。替换(//g,$&$&')
无需为此使用数组:
console.log('abc'。替换(//g,$&$&'))
回答!有很多方法可以做到这一点,但以下是我最容易理解的两种方法:
1.)使用重复,如下所示:
const duplicate = function(v) {
newArray = v.split("");
doubledArray = newArray.map(i => i.repeat(2));
return doubledArray.join("")
};
console.log(duplicate("3ff")); // Output: 33ffff
const duplicate = function(v) {
newArray = v.split("");
doubledArray = newArray.map(i => i + i);
return doubledArray.join("")
};
console.log(duplicate("3ff")); // Output: 33ffff
2.)使用i+i
,如下所示:
const duplicate = function(v) {
newArray = v.split("");
doubledArray = newArray.map(i => i.repeat(2));
return doubledArray.join("")
};
console.log(duplicate("3ff")); // Output: 33ffff
const duplicate = function(v) {
newArray = v.split("");
doubledArray = newArray.map(i => i + i);
return doubledArray.join("")
};
console.log(duplicate("3ff")); // Output: 33ffff
谢谢大家的建议 回答!有很多方法可以做到这一点,但以下是我最容易理解的两种方法:
1.)使用重复,如下所示:
const duplicate = function(v) {
newArray = v.split("");
doubledArray = newArray.map(i => i.repeat(2));
return doubledArray.join("")
};
console.log(duplicate("3ff")); // Output: 33ffff
const duplicate = function(v) {
newArray = v.split("");
doubledArray = newArray.map(i => i + i);
return doubledArray.join("")
};
console.log(duplicate("3ff")); // Output: 33ffff
2.)使用i+i
,如下所示:
const duplicate = function(v) {
newArray = v.split("");
doubledArray = newArray.map(i => i.repeat(2));
return doubledArray.join("")
};
console.log(duplicate("3ff")); // Output: 33ffff
const duplicate = function(v) {
newArray = v.split("");
doubledArray = newArray.map(i => i + i);
return doubledArray.join("")
};
console.log(duplicate("3ff")); // Output: 33ffff
谢谢大家的建议 不,这是不可能的。但是你可以只做i=>i+i
instead@AltoJavaScript,其中'1'+'1'=='11'
。Python和Ruby一样,对*
具有特定于字符串的重写。JavaScript没有。拆分(“”).map(x=>x.repeat(2)).join(“”)
谢谢@Alto!试过这个,效果很好:)不,不可能成倍增长。但是你可以只做i=>i+i
instead@AltoJavaScript,其中'1'+'1'=='11'
。Python和Ruby一样,对*
具有特定于字符串的重写。JavaScript没有。拆分(“”).map(x=>x.repeat(2)).join(“”)
谢谢@Alto!尝试了这个,效果很好:)string+string总是另一个string,但是如果i
是数值,它就会被计算出来。啊,我明白了。我在看“3ff”I
不是一个数字。split(“”)创建字符串数组字符串+字符串始终是另一个字符串,但是如果i
是数值,它将被计算。啊,我明白了。我在看“3ff”I
不是一个数字。split(“”)创建strings数组我以前从未听说过repeat函数。非常感谢。这非常有效。我以前从未听说过重复功能。非常感谢。这个很好用。哦,酷!我甚至不认为有一种不使用数组的方法可以做到这一点。这是一个很好的建议,我以后会记住的。哦,酷!我甚至不认为有一种不使用数组的方法可以做到这一点。这是一个很好的建议,我以后会记住的。啊,我知道你在那里做了什么。谢谢你的建议!做同一件事有这么多创造性的方法:)啊,我知道你在那里做了什么。谢谢你的建议!做同样的事情有这么多创造性的方法:)谢谢!这对我很有效。谢谢!这对我来说很有效,有道理!我永远不会想到这一点。看到每个人经历同一个问题的不同思维过程是非常有用的。这很有意义!我永远不会想到这一点。看到每个人经历同一个问题的不同思维过程是非常有用的。