javascript - 将数组拆分为多个包含字符串的数组

标签 javascript node.js arrays

我想要一个任意长度的数组(在这个例子中长度为 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/

相关文章:

node.js - 无效的 mongodb uri 必须以 "mongodb://"开头

node.js - 我的 Discord 机器人无法上线

Ruby 组合两个数组导致进程耗尽内存

Java 怪异越界?

php - 如何修剪数组中的所有字符串?

javascript - Webpack代码分割: Does it do anything? 好像没有效果

javascript - 单击空白区域时如何触发body.onclick

javascript - 浏览器的 "Previous"按钮位置改变了吗?

javascript - QML:SequencialAnimation 的运行属性设置为 false,但仍在运行

mysql - 如何在 sequelize 中连接字符串 Column 值?