javascript - 如何在javascript中使用分隔符和限制来分割数组?

标签 javascript arrays

我的目的是使用分隔符分割数组并选择其分割的限制。

var arr = [89, 'sdf', 0, null, 0, true, 89, 0, 'sdf'];
var res = [];
while (arr.length) {
  res.push(arr.splice(0, 2));
}
console.log(res)

例如:如果0是分隔符,2是限制

arr.split(0, 2)
[[89, 'sdf'], [null]] //output

最佳答案

您可以使用indexOf拼接如下所示:

var arr = [89, 'sdf', 0, null, 0, true, 89, 0, 'sdf'];

function splitArray(arr, seperator, count) {
  let result = [], 
        copy = arr.slice(), // if you don't want to mutate the original array
        counter = 0;
  
  while(counter < count && copy.length > 0) {
    const index = copy.indexOf(seperator);
    if(index !== - 1) {
      result.push(copy.splice(0, index));
      copy.shift(); // remove the seperator
    }
    else result.push(copy.splice(0)) // add the remaining items

    counter++
  }
  
  return result
}

console.log(splitArray(arr, 0, 2))
console.log(splitArray(arr, 0, 3))

关于javascript - 如何在javascript中使用分隔符和限制来分割数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55703720/

相关文章:

javascript - Vue 计算属性未更新 - 未定义数据属性的奇怪行为

C返回字符串计数和字符串问题(rusty in C....)

javascript - 无法使用附加到 "this"的任何 JQuery 方法

javascript - Node.js 从其他函数调用函数不起作用

javascript - 导入的 typescript 对象没有属性

python - Pandas 向量化函数 cumsum 与 numpy

ios - 如何在 Objective c 的 Core Data 中添加数组作为字符串

java - Android开发Array与int对比

python - 如何根据键而不是轴来减少 numpy 数组?

javascript - AngularJS过滤搜索结果: Error: [ng:areq]