我想要一个任意长度的数组(在这个例子中长度为 10):
var fruits = ["Banana", "Orange", "Apple", "Mango", "Strawberry", "Lime", "Kiwi", "Melon", "Pineapple", "Date"];
从这个数组中,我想以 5 为增量获取元素,将每个增量转换为一个字符串,然后将每个字符串作为嵌套数组存储在新数组中。每个元素都需要用“%”分隔。输出如下:
newArray = [[ 'Banana%Orange%Apple%Mango%Strawberry' ],[ 'Lime%Kiwi%Melon%Pineapple%Date' ]]
要转换为我正在使用的字符串:var finalArray = Array()
var x = ""
for(i = 0; i < fruits.length; i++){
if(i==fruits.length-1){
x = x + fruits[i].toString()
}
else {
x = x + fruits[i].toString()+'%'
}
} finalArray.push([x])
哪些输出:[['Banana%Orange%Apple%Mango%Strawberry%Lime%Kiwi%Melon%Pineapple%Date']]
我尝试了许多 for & forEach 循环、if/else 语句等,试图在应用字符串转换代码之前将原始数组拆分为 5 的增量,但没有成功。任何有关如何实现的帮助或想法将不胜感激。谢谢。
编辑:谢谢大家,这已经回答了我的问题:)
最佳答案
您可以使用 Array#splice
然后裁剪数组直到它为空:
var fruits = ["Banana", "Orange", "Apple", "Mango", "Strawberry", "Lime", "Kiwi", "Melon", "Pineapple", "Date"];
var result = [];
while (fruits.length) {
result.push([fruits.splice(0, 5).join('%')]);
}
console.log(result);
关于javascript - 将数组拆分为多个包含字符串的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62633161/