slice(),splice(),concat()区别

1.slice()函数

定义和用法

slice() 方法可从已有的数组中返回选定的元素。

语法

arrayObject.slice(start,end)
参数 描述
start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

返回值

返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

说明

请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。

例子:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
document.write(arr.slice(2,4) + "<br />")
document.write(arr)

</script>

输出:

George,John,Thomas,James,Adrew,Martin
Thomas,James
George,John,Thomas,James,Adrew,Martin   

arr本身没有变化,但是执行函数后的返回值变化了。

2.splice()函数

定义和用法

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

注释:该方法会改变原始数组。

语法

arrayObject.splice(index,howmany,item1,.....,itemX)
参数 描述
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组添加的新项目。

返回值

类型 描述
Array 包含被删除项目的新数组,如果有的话。

说明

splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。

提示和注释

注释:请注意,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。

例子:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
deletearr=arr.splice(2,1,"William")
document.write(arr+"<br />")
document.write(deletearr)
</script>

输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,James,Adrew,MartinThomas

arr结果是删除指定元素后的值,而deletearr则是被删除的元素的数组。

3.concat()

定义和用法

concat() 方法用于连接两个或多个数组。

该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

语法

arrayObject.concat(arrayX,arrayX,......,arrayX)
参数 描述
arrayX 必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。

返回值

返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。

例子:

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"

document.write(arr.concat(arr2))

</script>

输出:

George,John,Thomas,James,Adrew,Martin

arr本身没有变。

时间: 2024-11-10 12:06:37

slice(),splice(),concat()区别的相关文章

merge和concat区别

Rxjs中merge和concat区别: 1.相同点: 都是将多个可观察输入对象合并为一个可观测输出对象,通过订阅获取输入客观擦对象的弹出的值: concat中只要有一个输入可观察对象发生错误,其后面的输入可观察对象无法弹出其值,即订阅终止:merge存在竞争关系,有一个输入可观察对象发生错误,也会 终止订阅. 2.不同点: merge是并联,同步发生,存在竞争关系:concat是串联,按照输入顺序,第一个可观测对象的值弹出完全后,接着开始弹出第二个可观察对象,依次输出. 3.事实上,conca

js数组的concat, slice, splice方法

//数组的方法 //1. concat() (concat的英文释义:合并数组;合并多个字符串;) var colors = ["red", "green", "blue"]; var color2 = colors.concat("yellow", ["black", "brown"]); console.log(colors);//["red", "gr

js中slice splice split的区别

slice:    不会修改原来的数组,截取数组元素返回 splice:    直接修改原数组,删除原数组中的指定元素,返回的是被删除的元素组成的数组 split:    根据特定的字符切割字符串并且返回生成的数组

【js】数组的splice方法和slice方法的区别

1.splice方法和slice都是数组的方法 2.splice方法有3种作用 例如,arr=[1,2,3,4,5,6]; splice方法 删除  arr.splice(1, 1); 返回值为删除的元素,类型为object  替换  arr.splice(1, 1, 'a'); 返回值为被替换的元素,类型为object  插入 arr.splice(1, 0, 'a', 'b'); 返回值为一个空数组,类型为object 注意:得到的新数组为[1,'a','b',2,3,4,5,6] 3.sl

splice()和slice()方法的区别

splice(index, 删除几个, 添加什么)  第一个和第二个是必须的参数 删除从 index 处开始的零个或多个元素(数组或者字符串),并且用参数列表中声明的一个或多个值来替换那些被删除的元素. 返回的是被删除的元素的组成的数组    原始数组会改变 var b = [1,'a',2,4,'b'] b.splice(2,2) >(2) [2, 4] b >(3) [1, "a", "b"] slice(start, end) 不包含end对应的数

slice,splice,substr,substring函数的区别

slice: 语法:array.slice(startIndex,endIndex); 参数: startIndex:必须,规定从何处开始选取,如果为负则从尾部开始计算 : endIndex:可选,规定从何处结束 返回值:返回一个新数组,从startIndex开始到endIndex之前的元素的组数: 原数组:不会改变: splice: 语法:array.splice(startIndex,length,item1,item2,.....,itemX); 参数: startIndex:必须,整数,

JS中的slice()和splice()的区别以及记忆方式

总结 splice()会改变原来的数组,返回的是被改变的内容,比如说通过splice删掉了某一项,那么返回的是删掉的这一项,当然还是会以数组的形式返回. slice不会对原数组进行改变,会返回一个新的数组.利用slice同样也可以实现根据索引删除某一项 我是怎么记忆的 splice的前缀是sp,sp代表着super是超级的意思,说明它有超级权限,就是说会改变原有数组的权限,会对原有数组进行删除增加的权限.sp的p念起来就是屁,屁被人体减去的东西,因此splice返回值的就是 被删除的东西. 详解

数组的方法 forEach filter map slice splice

目前一些数组的实用的方法 1 arr.splice(i,n) 删除从i(索引值)开始之后的那个元素.返回值是删除的元素,改变原数组: 参数: i 索引值      n 个数 let arr = [1,2,3,4,5] console.log(arr.splice(2,2)) //[3,4] console.log(arr) // [1,2,5] 2 arr.concat() 连接两个数组 返回值为连接后的新数组,改变原数组: let arr = [1,2,3,4,5] console.log(a

javascript中slice(),splice(),split(),substring(),substr()使用方法

1.slice(): Array和String对象都有 在Array中  slice(i,[j]) i为开始截取的索引值,负数代表从末尾算起的索引值,-1为倒数第一个元素j为结束的索引值,缺省时则获取从i到末尾的所有元素 参数返回:返回索引值从i到j的数组,原数组不改变 在String中 slice(i,[j]) 参数说明:i为开始截取的索引值,负数代表从末尾算起的索引值,-1为倒数第一个字符j为结束的索引值,缺省时则获取从i到末尾的所有字符 2.splice() 存在Array中     方法