怎么用JavaScript的splice实现数组的删除、插入、替换
这篇“怎么用JavaScript的splice实现数组的删除、插入、替换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用JavaScript的splice实现数组的删除、插入、替换”文章吧。
一、splice 删除
写法
array.splice(index,n);
参数含义
index:数组中需要删除数据的起始位置;
n:需要删除的元素,数据的个数;
二、splice 插入
写法
array.splice(index,0,data1,data2,....);
参数
index:数组中需要插入数据的起始位置;
0:删除的个数为0;
data1,data2:需要插入的元素,用逗号隔开
三、splice 替换
写法
array.splice(index,n,data1,data2,......);
参数
index:需要替换的元素的起始位置;
n:需要替换的元素的个数,实质是删除;
data1,data2:需要插入元素,用逗号隔开;
总的来说,splice实质上是通过删除元素来实现插入、删除、替换的;
附上 操作数组的方法
push 在数组尾部添加,返回添加后的数组元素的个数
unshift 在数组头部添加,返回数组添加后元素的个数
shift 删除数组的第一个元素,返回被删除的元素
pop 删除数组的最后一个元素,返回被删除的元素
splice 删除、插入、替换 执行的是操作,改变原数组的值,不返回任何值
slice(start,end) 截取数组的一部分,返回截取的数组,start为起始位置,end为结束为止,不包括结束的位置元素
concat a.concat(b) 将两个数组拼接在一起,返回一个拼接后的新数组,且a内部的元素在新数组的前部
toString 将数组转换成字符串 返回一个字符串,toLocalString 实现与toString方法类似,不过在IE下会出现兼容性问题,比如字符前后出现空格,数字出现小数,导致length属性变化,所以尽量使用string
join(''& '') 将数组以&符号间隔转换为字符串 返回一个字符串
split(‘’& ‘’) 将字符串以&符号位标记转换成数组 返回一个新数组
sort(function(a,b){return a-b}) 将数组进行排序,如果没有function函数,则按字符编码排序 返回操作后的新数组
reverse() 将数组进行倒序排序,即将数组的顺序颠倒 返回倒序排列后的新数组
valueOf 查看对象内的值,可以返回字符串类型的数组,不常用
charAt(index)获取字符串制定顺序上的元素,返回要查询位置的元素,不能用于查询数组元素
<script>
var arr = ['b','a','c'];
console.log(arr.valueOf());// valueOf 返回3 ['b','a','c']
console.log(arr.sort());// 排序,按照字符编码 返回 [a,b,c]
console.log(arr.reverse());//倒序方法 返回 [c,a,b]
arr.splice(1,0,'newitem')// 插入
console.log(arr); // 返回["c", "newitem", "b", "a"]
arr.splice(1,1,'olditem')//替换
console.log(arr) // 返回 ["c", "olditem", "b", "a"]
console.log(arr.unshift('haha')) //头部添加‘haha’ 返回长度 5
console.log(arr.push('heihei'));//尾部添加‘heihei’返回长度 6
console.log(arr.shift()) //头部删除 返回haha
console.log(arr.pop()) //尾部删除 返回heihei
var arr1 = [1,2,3,4]
console.log(arr.concat(arr1)) // 数组合并 返回["c", "olditem", "b", "a", 1, 2, 3, 4]
console.log(arr.slice(1,2)) //数组截取 返回 ["olditem"]
console.log(arr[0]) //返回 数组的指定位置的元素
</script>
以上就是关于“怎么用JavaScript的splice实现数组的删除、插入、替换”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341