javascript - 将数组拆分为多个包含字符串的数组
问题描述
我想取一个任意长度的数组(在这个例子中长度为 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);
推荐阅读
- android - Android错误膨胀类
加载高图时 - css - 如何在溢出设置为可见时显示线性渐变的边框半径 - React Native IOS
- python - 需要很好地解释这个小 Python 代码
- postgresql - 使用 JPA Criteria 复制 PostgreSQL select distinct on + multiple order by 条件
- sockets - Dart客户端Socket连接但不向服务器发送数据?
- javascript - 如何在javascript的循环中更改对象的项目值?
- javascript - 反应.js | 如果我将 setState 作为回调函数传递,则无限渲染,即使在解构道具之后也是如此
- javascript - 过滤不同类别并返回多个条目
- glibc - RHEL 6 - 安装了 'GLIBC_2.14' 但仍然是 Yum 错误
- r - 在R中按月和年选择数据