5-28 WPS JS宏 slice数组切片(子数组的切片提取)
1.slice()
参数为左闭右开,取值:左边的索引号是对应当前索引号的,右边的索引号是对应前一个索引号的。参数为正数,是从左到右开始数组切片,参数为负数,是从右到左开始数组切片。
使用方法:数组.slice(起始索引号,终点索引号)
2.基础测试
function test(){
var arr=["张一","李五","王六","小五","徐明"];
(1)参数为正数
var ar1=arr.slice(1,3);
//监视窗口:ar1=["李五","王六"],类型:Array/object
var ar2=arr.slice(0,3);
//监视窗口:ar2=["张一","李五","王六"],类型:Array/object
var ar3=arr.slice(0,6);
//监视窗口:ar3=["张一","李五","王六","小五","徐明"],类型:Array/object
(2)参数为负数
var ar4=arr.slice(-1,-4);
//监视窗口:ar4=[],类型:Array/object
var ar5=arr.slice(-4,-0);
//监视窗口:ar5=[],类型:Array/object
var ar6=arr.slice(-4,-1);
//监视窗口:ar6=["李五","王六","小五"],类型:Array/object
(3)参数为正负混用
var ar7=arr.slice(1,-1);
//监视窗口:ar7=["李五","王六","小五"],类型:Array/object
var ar8=arr.slice(-4,4);
//监视窗口:ar8=["李五","王六","小五"],类型:Array/object
(4)参数为一个参数
var ar9=arr.slice(2);
//监视窗口:ar9=["王六","小五","徐明"],类型:Array/object
}
代码:
function test(){
var arr=["张一","李五","王六","小五","徐明"];
//参数为正数
var ar1=arr.slice(1,3);
//监视窗口:ar1=["李五","王六"],类型:Array/object
var ar2=arr.slice(0,3);
//监视窗口:ar2=["张一","李五","王六"],类型:Array/object
var ar3=arr.slice(0,6);
//监视窗口:ar3=["张一","李五","王六","小五","徐明"],类型:Array/object
//参数为负数
var ar4=arr.slice(-1,-4);
//监视窗口:ar4=[],类型:Array/object
var ar5=arr.slice(-4,-0);
//监视窗口:ar5=[],类型:Array/object
var ar6=arr.slice(-4,-1);
//监视窗口:ar6=["李五","王六","小五"],类型:Array/object
//参数为正负混用
var ar7=arr.slice(1,-1);
//监视窗口:ar7=["李五","王六","小五"],类型:Array/object
var ar8=arr.slice(-4,4);
//监视窗口:ar8=["李五","王六","小五"],类型:Array/object
//参数为一个参数
var ar9=arr.slice(2);
//监视窗口:ar9=["王六","小五","徐明"],类型:Array/object
}
3.示例:拆分一维数组
function test2(){
var arr=[1,2,3,4,"a","b","c","d",4,5,6,7,"e","f","g","h"]
var arr1=[0,1,2,3,4].map(x=>arr.slice(x*4,x*4+4))
Console.log(`${arr1[0]}`+`+++`+`${arr1[1]}`+`+++`+`${arr1[2]}`+`+++`+`${arr1[3]}`);
}
代码:
function test2(){
var arr=[1,2,3,4,"a","b","c","d",4,5,6,7,"e","f","g","h"]
var arr1=[0,1,2,3,4].map(x=>arr.slice(x*4,x*4+4))
Console.log(`${arr1[0]}`+`+++`+`${arr1[1]}`+`+++`+`${arr1[2]}`+`+++`+`${arr1[3]}`);
}
更多推荐



所有评论(0)