数组方法(splice)
删除
语法:
arrayObject.splice(index,count);
功能:
删除从index处开始的零个或多个元素
返回值:
含有被删除的元素的数组
说明:
count是要删除的项目数量,如果设置为0,则不会删除项目。如果不设置,则删除从index开始的所有值
插入
语法:
arrayObject.splice(index,0,item1,...,itemX);
功能:
在指定位置插入值
参数:
index:起始位置
0:要删除的个数
item1,...,itemX:要插入的项返回值:
数组
替换
语法:
arrayObject.splice(index,count,item1,...,itemX);
功能:
在指定位置插入值,且同时删除任意数量的项
参数:
index:起始位置
count:要删除的个数
item1,...,itemX:要插入的项返回值:
数组
编程练习
实现:
(1)循环弹出输入框,用户输入的任意字符的前两个被替换为“hello”,后面的字符不受影响,比如在页面中输入一组数据:1,2,3,4,5 把前两项(1和2)换成hello,最后的结果是hello,3,4,5。
(2)当输入“-1”时,输入框停止弹出
任务
第一步:页面中循环弹出一个输入框,当输入-1时停止循环
第二步:将用户输入的数据放进一个数组中,数组中不包含结束字符-1
第三步:将数组的前两个字符替换成“hello”,然后输出在页面中
参考代码
<html> <head> <meta charset="UTF-8"> <title>splicetitle> head> <body> <script> var input; var arr=[]; while(input!="-1"){ input=prompt("请输入任意你想输的字符"); arr.push(input); } arr.splice(arr.length-1,1); arr.splice(0,2,"hello"); document.write(arr);script> body>html>
数组方法(indexOf和lastIndexOf)
indexOf()
语法:
arrayObject.indexOf(searchvalue,startIndex);
功能:
从数组的开头(位置0)开始向后查找
参数:
searchvalue:必需,要查找的项
startIndex:可选,起点位置的索引返回值:
number,查找的项在数组中的位置,没有找到的情况下返回-1
lastIndexOf()
语法:
arrayObject.indexOf(searchvalue,startIndex);
功能:
从数组的末尾开始向后查找
参数:
searchvalue:必需,要查找的项
startIndex:可选,起点位置的索引返回值:
number,查找的项在数组中的位置,没有找到的情况下返回-1
编程练习
小伙伴们,数组的 indexOf() 方法有兼容性问题,如果我们要考虑到低版本浏览器兼容性的话,我们就要自己写一个函数去封装这个方法,那么接下来我们就试试自己动手写下这个函数吧!
任务
第一步:定义一个函数,有两个参数,一个参数是要被检测的数组,另一个参数是要判断的值
function newIndexOf(arr,value)
第二步:函数里面要对被检测的数组进行循环,判断数组里的项等于要判断的值,那么返回这个数组项的索引:
for(var i=0;i if(arr[i]===value){ return i; }}
第三步:定义一个数组,检测一下封装的函数是否和 indexOf() 方法是同等效果。
参考代码
<html> <head> <meta charset="UTF-8"> <title>封装indexOf方法title> head> <body> <script> function newIndexOf(arr,value){ for(var i=0;i if(arr[i]===value){ return i; } } return -1; } var a=[1,3,2,4,15,51,2,34,4]; var pos=newIndexOf(a,4); document.write(pos);script> body>html>