js数组
来源:互联网 发布:大智慧ts诊断主图源码 编辑:程序博客网 时间:2024/06/05 22:49
1.数组是值的有序集合,js中数组是弱类型的,数组中可以有不同类型的元素,可以有数字,字符串,boolean,对象或者其他数组
var arr = [1,true,null,undefined,{x:1},[1,2,3]]
arr[4].x arr[5][1]
2.创建数组方式有两种:中括号[] var arr = [{name:yangrui},[1,2]]
var arr = new Array();
var arr = new Array(100) 有一百个元素的数组
var arr = new Array(true,false,null,1,"hi") 有一百个元素的数组
3.操作数组读写
arr[5]=6; arr.length变为6 动态添加数组中的值
delete arr[2];
arr.length-=1;
4.数组迭代
var i=0,n=10;
var arr = [1,2,3,4,5];
for(;i<n;i++){console.log(arr[i])}
for(i in arr){console.log(arr[i])}
arr.hasOwnProperty 过滤掉原型链上的属性
5.稀疏数组 数组个数比数组中的值多 数组中有空值
6.将数组转换成字符串
var arr=[1,2,3]
arr.join("-");//1-2-3
function repeatString(str,n){
return new Array(n+1).join(str);
}
repeatString("a",3);//aaa
7.将数组逆序 arr.reverse(); 原来数组被修改
8.数据排序 arr.sort(); 排序数字的话 按开头数字排序
function sortNumber(a,b){return a - b}var arr = new Array(6)arr[0] = "10"arr[1] = "5"arr[2] = "40"arr[3] = "25"arr[4] = "1000"arr[5] = "1"document.write(arr + "<br />")document.write(arr.sort(sortNumber)
)
9.concat()合并数组,但是合并之后原数组不会改变
var arr=[1,2,3];
arr.concat(4,5); //[1,2,3,4,5]
arr.concat([10,11],13) //[1,2,3,10,11,13]
arr.concat([1,[2,3]]) //[1,2,3,1,[2,3]]
concat只会拉平一次数组
10.slice()返回数组片段(前包括后不包括) 原数组会被修改
var arr=[1,2,3,4,5]
arr.splice(1,3);//[2,3]
arr.splice(1,-1);//[2,3,4]
arr.splice(2);//[3,4,5]
arr.splice(2,2);//[3,4] 从第三个开始截取两个元素
arr.splice(1,1,'a','b');//[1,"a","b",3,4,5]
11. arr.forEach 对数组进行遍历
12. arr.map(function(x){})
13. arr.filter 对数组进行过滤
14. arr.every返回 true 和false 所有元素必须符合
15. arr.some 返回 true 和false 至少一个元素符合
16. reduce()
17. indexOf()数组检索 查找元素索引
18. Array.isArray([]);判断是不是数组
[] instanceof Array
- js数组
- js数组
- JS 数组
- js 数组
- js数组
- JS数组
- js数组
- js 数组
- JS 数组
- js数组
- js 数组
- JS数组
- js数组
- js数组
- js数组
- JS 数组
- js数组
- js 数组
- try catch 不到异常的处理
- POJ Problem 1664 放苹果
- SQL触发器实例学习
- CodeForces 731A Night at the Museum
- Git Submodule 使用简介
- js数组
- android基础_第七天
- ibatis中insert值的同时返回主键
- infiniband学习总结
- java调用并执行shell脚本以及问题总结
- spring异步存储错误信息日志
- SQLite安卓自带数据库
- Android开篇
- Appium之IOS第一个demo