ell*_*uty 36 javascript jquery
var arr = ['a', 'b', 'c', 'd', 'e', 'f'];
var point = 'c';
Run Code Online (Sandbox Code Playgroud)
如何根据"点"变量将"arr"拆分为两个数组,如:
['a', 'b']
Run Code Online (Sandbox Code Playgroud)
和
['d', 'e', 'f']
Run Code Online (Sandbox Code Playgroud)
ram*_*jan 41
var arr2 = ['a', 'b', 'c', 'd', 'e', 'f'];
arr = arr2.splice(0, arr2.indexOf('c'));
Run Code Online (Sandbox Code Playgroud)
要从arr2中删除'c':
arr2.splice(0,1);
Run Code Online (Sandbox Code Playgroud)
arr包含前两个元素,arr2包含最后三个元素.
这做了一些假设(比如arr2在第一次分配时总是包含'point'),因此必要时添加一些正确性检查边界情况.
Jua*_*des 16
var arr = ['a', 'b', 'c', 'd', 'e', 'f'];
var indexToSplit = arr.indexOf('c');
var first = arr.slice(0, indexToSplit);
var second = arr.slice(indexToSplit + 1);
console.log({first, second});
Run Code Online (Sandbox Code Playgroud)
Jul*_*eri 10
分享我在访问此页面后最终制作的便利功能.
function chunkArray(arr,n){
var chunkLength = Math.max(arr.length/n ,1);
var chunks = [];
for (var i = 0; i < n; i++) {
if(chunkLength*(i+1)<=arr.length)chunks.push(arr.slice(chunkLength*i, chunkLength*(i+1)));
}
return chunks;
}
Run Code Online (Sandbox Code Playgroud)
样品用法:
chunkArray([1,2,3,4,5,6],2);
//returns [[1,2,3],[4,5,6]]
chunkArray([1,2,3,4,5,6,7],2);
//returns [[1,2,3],[4,5,6,7]]
chunkArray([1,2,3,4,5,6],3);
//returns [[1,2],[3,4],[5,6]]
chunkArray([1,2,3,4,5,6,7,8],3);
//returns [[1,2],[3,4,5],[6,7,8]]
chunkArray([1,2,3,4,5,6,7,8],42);//over chunk
//returns [[1],[2],[3],[4],[5],[6],[7],[8]]
Run Code Online (Sandbox Code Playgroud)
试试这个:
var arr = ['a', 'b', 'c', 'd', 'e', 'f'];
var point = 'c';
var idx = arr.indexOf(point);
arr.slice(0, idx) // ["a", "b"]
arr.slice(idx + 1) // ["d", "e", "f"]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
66282 次 |
最近记录: |