JavaScript基础------数组
2024-10-11 16:46:18
数组
1.数组的每个元素都可以保存任意类型数据2.数组长度可以随之调整
创建数组的2种方式
1.使用Array构造函数
语法 new Array()
小括号()说明:
(1)预先知道数组要保存的项目的数量
(2)向Array构造函数中传递数组应该包含的项
2.使用数字字面量表示法
由一对包含数组项的方括号[]表示,多个数组项之间用逗号隔开
2.数组元素的读写
使用下标索引,从0开始,越界取会返回undefined
3.数组的长度
array.length 返回值number
说明:
(1)通过设置length可以从数组的末尾移除项或添加元素
4.数组方法(栈方法)
push() arrayname.push(元素1,元素2.元素3...)元素末尾增加 返回值是添加后的数组长度
unshift() 数组开头添加值,可以是多个
pop() 删除数组最后一个值
shift()删除数组第一个值 join() arrayname.join(分隔符) 将数组中的所有元素放入一个字符串 返回值:字符串
reverse() 颠倒数组元素的顺序 返回值:数组
sort() arrayname.sort(sortby) 排序
说明:
(1)即使数组中每一项都是数值,sort()方法比较的也是字符串
(2)sort()方法可以接收一个比较函数作为参数
数值的升序
arr.sort(function(a,b){return a-b})
数值的降序
arr.sort(function(a,b){return b-a})
concat() arrayname.concat(数组1,数组2,数组3...) 用于连接两个或多个数组 返回数组
slice()
数组.slice(start,end)从已有的数组中返回指定的元素 顾头不顾尾,取start,不取end
参数:
start(必填)规定从何时开始选取,如果是负数,从数组的尾部开始算起
end(可选)规定从何时结束选取,是数组片段结束处的数组下标
说明:
若没有end,切分数组包含从start到数组结束的所有元素
若slice()方法的参数中有一个负数,则用数组长度+改数来确定相应位置
<script>
var colors=['red','green','blue','yellow','orange']
var newColors=colors.slice(-1,5) 理解为-1+数组长度(4)也就是 var newColors=colors.slice(4,5)
console.log(newColors)
</script>
splice()功能最强大
删除 数组.splice(index,count) 删除index处开始的0个或多个元素,返回被删掉的元素的数组
说明:count是删除的元素数量,为0不删除,不设置删除index起的所有元素
插入 数组.splice(index,0,item1,item2,...itemx) 在指定位置插入值 返回结果事空
参数:
index 起始位置 注:新增是在这个起始位置插入,而不是它的后面
0要删除的元素数量
item1,item2,...itemx 要插入的元素
替换 数组.splice(index,count,item1,item2,...itemx) 删除count个元素,并在指定位置插入新值 返回被删掉的元素的数组
参数:
index 起始位置 注:新增是在这个起始位置插入,而不是它的后面
count 要删除的元素数量
item1,item2,...itemx 要插入的元素
indexOf()
数组.indexOf(searchvalue,startIndex) 从数组的开头(位置0)开始想后查找
参数:
searchvalue:必需,要查找的项 必需是比对,数值和类型都相同时才返回,也就是===
startIndex:可选,查找的开始位置 包含这个索引对应的值
返回值:number 查找的第一个元素在数组中的位置,没有找到的情况下返回-1
lastIndexOf()
数组.lastIndexOf(searchvalue,startIndex) 从数组的末尾开始向前查找
参数:
searchvalue:必需,要查找的项
startIndex:可选,查找的开始位置 包含这个索引对应的值
返回值:number 查找的第一个元素在数组中的位置,没有找到的情况下返回-1 后两项 支持的浏览器有:IE9+,Firefox2+,Safari3+,Opera9.5和Chrome
最新文章
- 【Java EE 学习 35 上】【strus2】【类型转换器】【struts2和Servlet API解耦】【国际化问题】【资源文件乱码问题已经解决】
- 【代码笔记】iOS-日历
- innodb的表最大限制
- Java-JDK配环境,eclipse工具认识
- Python的交互式界面 编写 .
- PHP四大安全策略
- 【剑指offer】判断二叉树是否为平衡二叉树
- [ZETCODE]wxWidgets教程八:组件专题1
- wcf托管在IIS上,提示未能加载
- Java 异常处理的误区和经验总结--转载
- node学习笔记(二)(ajax方式向node后台提交数据)
- 在阿里云服务器上安装完成并启动Tomcat后,通过http不能访问--解决办法
- HttpWebResponse Post 前端控件数据,后台如何接收?
- vue自定义组件及传值
- 20155324 2016-2017-2 《Java程序设计》第8周学习总结
- mac上生成目录结构
- 常用MQ及其原理
- HttpClient 传输文件的两种方式
- linux 自定义信号
- Eclipse 在Debug调试中用到的快捷键