最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

深入理解JS数组操作方法concat()、slice()、splice()

来源:懂视网 责编:小采 时间:2020-11-27 19:30:43
文档

深入理解JS数组操作方法concat()、slice()、splice()

深入理解JS数组操作方法concat()、slice()、splice():最近比较闲,将所学的知识进行了总结,这篇文章概括了数组的不同操作方法,concat()、slice()和splice(),有需要的朋友可以参考一下,希望对你有用。concat()方法concat()方法:基于当前数组中所有项创建新数组。 具体过程为:先创建数组的一个副本,若是co
推荐度:
导读深入理解JS数组操作方法concat()、slice()、splice():最近比较闲,将所学的知识进行了总结,这篇文章概括了数组的不同操作方法,concat()、slice()和splice(),有需要的朋友可以参考一下,希望对你有用。concat()方法concat()方法:基于当前数组中所有项创建新数组。 具体过程为:先创建数组的一个副本,若是co

最近比较闲,将所学的知识进行了总结,这篇文章概括了数组的不同操作方法,concat()、slice()和splice(),有需要的朋友可以参考一下,希望对你有用。

concat()方法

concat()方法:基于当前数组中所有项创建新数组。
具体过程为:先创建数组的一个副本,若是concat()存在参数,将接收到的参数添加到副本的末尾,然后返回新构建的数组;若是没有传递参数,仅仅复制当前数组并返回副本数组。
concat()中的参数可以是一个新的数组也可以是一个字符串。

var colors = ["red","green","blue"];
var colors2 = colors.concat("yellow",["black","brown"]);
alert(colors);
alert(colors2);

结果为colors为数组[“red”,”green”,”blue”];
colors2为数组[“red”,”green”,”blue”,”yellow”,”black”,”brown”];
concat()方法只是用当前数组重新创建一个新的数组,因此当前数组保持不变(colors数组不变)。

slice()方法

slice()方法:基于当前数组中的一个或多个项创建一个新数组。
slice()方法中可以有一个或者两个参数(代表数组的索引值,0,1,2……)。接收一个参数时:返回当前数组中从此参数位置开始到当前数组末尾间所有项。接收两个参数时:返回当前数组中两个参数位置间的所有项,但不返回第二个参数位置的项。
参数也可以为负数,表示从末尾算起,-1代表最后一个,使用方法和正数一样。

var colors = ["red","green","blue","yellow","black","brown"];
var colors2 = colors.slice(2);
var colors3 = colors.slice(1,4);
var colors4 = colors.slice(2,-2);
var colors5 = colors.slice(-3,-1);
console.log(colors2);
console.log(colors3);
console.log(colors4);
console.log(colors5);

结果为:[“blue”, “yellow”, “black”, “brown”]
[“green”, “blue”, “yellow”]
[“blue”, “yellow”]
[“yellow”, “black”]
另外slice()方法还可用于对数组的移除

Array.prototype.remove = function(from, to) {
 var rest = this.slice((to || from) + 1 || this.length);
 this.length = from <0 ? this.length + from : from;
 return this.push.apply(this, rest);
};

对于

rest = this.slice((to || from) + 1 || this.length);

若to不等于0,(to||from)就等于to,且to+1不等于0,则((to || from) + 1 || this.length)为to+1),若to+1=0,((to || from) + 1 || this.length)为this.length;
若to=0,(to||from)取from,若from+1不等于0,((to || from) + 1 || this.length)为from+1,若from+1=0, ((to || from) + 1 || this.length)为this.length。

splice()方法

splice()主要用途是向当前数组的中间插入项,可以进行删除、插入、替换操作。会返回一个数组,包含从原始项中删除的项(若果没有删除,返回一个空数组)
删除:两个参数,删除起始项的位置和删除的项数。

var colors = ["red","green","blue"];
var removed = colors.splice(1,2);
alert(colors); //red
alert(removed); //green,blue

插入:在指定位置插入任意数量项,包括两个基本参数(即删除操作中的两个参数类型)和要插入项的参数,两个基本参数为起始位置和0(要删除的项数应为0项),要插入的项参数可以是任意个(”red”,”green”,”blue”)。

var colors = ["red","green","blue"];
var removed = colors.splice(1,0,"yellow","orange");
alert(colors); //"red","yellow","orange","green","blue"
alert(removed); //空数组

替换:向指定位置插入任意数量的项同时删除任意数量的项,插入项数和删除项数可以不同。参数包括两个基本参数(即删除操作中的两个参数类型)和要插入项的参数。

var colors = ["red","green","blue"];
var removed = colors.splice(1,1,"purple","black");
alert(colors); //"red","purple","black","blue"
alert(removed); //"green"

其实总的理解是splice()方法包含两个删除项基本参数和任意个插入项参数,两个删除项基本参数中第一个指定删除位置,第二个指定删除个数,如果个数为0,自然不删除,只有指定位置功能了。任意个插入项参数代表要插入的项值,数量不限,可省略,省略时splice()方法只进行删除操作。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

深入理解JS数组操作方法concat()、slice()、splice()

深入理解JS数组操作方法concat()、slice()、splice():最近比较闲,将所学的知识进行了总结,这篇文章概括了数组的不同操作方法,concat()、slice()和splice(),有需要的朋友可以参考一下,希望对你有用。concat()方法concat()方法:基于当前数组中所有项创建新数组。 具体过程为:先创建数组的一个副本,若是co
推荐度:
标签: 方法 sp 数组
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top