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]}`);

}

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐