javascript数组
来源:互联网 发布:淘宝高仿椰子 编辑:程序博客网 时间:2024/05/17 23:13
数组是值的有序集合。每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示(从0开始),称为索引,整个数组用方括号表示。
javascript数组的索引是基于零的32位数值,第一位索引是0,最大的索引为2^32-1
1.创建数组
下面我们用2种方式创建数组
1. 数组字面量
1.一维数组
var empty = []; //空数组var primes = [2,3,5,7,11]; //有5个数值的数组var arr = ['Nunnly',123,true];//3个不同类型的元素和结尾的逗号
2.多维数组
var arr = [[0,1],[2,3],[4,5]];
2.构造函数
1.一维数组
var arr = new Array(); //空数组,等同于数组字面量var arr = new Array(100); //指定长度数组,元素值为undefined,索引属性未定义var arr = new Array(true,null,5,4,3,"testing");//指定元素数组
2.多维数组
var arr = new Array([0,1],[2,3],[4,5]);//new可以省略
2.基本操作
1.读写数组元素
var arr = [1,2]arr[0] //1arr[1]=3; // [1,3]
2.添加元素(两种方法)
1.为最后一个空位赋值
var numbers = [0,1,2,3,4,5,6,7,8,9];numbers[10] = 10; //var numbers = [0,1,2,3,4,5,6,7,8,9,10];
2.在数组末尾添加元素,用push方法
var numbers = [0,1,2,3,4,5,6,7,8,9];numbers.push(10,11);//var numbers = [0,1,2,3,4,5,6,7,8,9,10,11];
3.在数组首位添加元素,用unshift方法
var numbers = [0,1,2,3,4,5,6,7,8,9];numbers.unshift(-2);//var numbers = [-2,0,1,2,3,4,5,6,7,8,9];
3.删除元素
1.删除数组第一个元素,用shift方法
var numbers = [0,1,2,3,4,5,6,7,8,9];numbers.shift();//var numbers = [1,2,3,4,5,6,7,8,9];
2.删除数组最后一个的元素,用pop方法
var numbers = [0,1,2,3,4,5,6,7,8,9];numbers.pop();//var numbers = [0,1,2,3,4,5,6,7,8];
3.删除和添加数组中任意位置的元素,用splice方法
var numbers = [0,1,2,3,4,5,6,7,8,9];numbers.splice(5,3);//删除 var numbers = [0,1,2,3,4,8,9];numbers.splice(5,0,2,3,4);//添加var numbers = [0,1,2,3,4,2,3,4,8,9];
4.遍历数组
我们可以使用for循环、while循环、for..in或者forEach()方法来遍历数组
var a = [1, 2, 3]; for(var i = 0; i < a.length; i++) { console.log(a[i]); }//whilevar i = 0; while (i < a.length) { console.log(a[i]); i++; }//for..infor (var i in a) { console.log(a[i]); }//forEacha.forEach(function(v){ console.log(v);})
3.数组属性
1.constructor 属性返回对创建此对象的数组函数的引用。
var test=new Array();if (test.constructor==Array){document.write("This is an Array");}if (test.constructor==Boolean){document.write("This is a Boolean");}if (test.constructor==Date){document.write("This is a Date");}if (test.constructor==String){document.write("This is a String");}
2.length 属性可设置或返回数组中元素的数目。
var numbers = [0,1,2,3,4,5,6,7,8,9];document.write(numbers.length);//数组长度为10numbers.length = 20;document.write(numbers.length);//数组长度为20
3.prototype 属性使您有能力向对象添加属性和方法。
4.数组方法
1.concat() 方法用于连接两个或多个数组。
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));
子数组 1.splice 2.slice
2.slice() 传入索引值,将数组里对应索引范围内的元素作为新数组返回
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);
数组排序 1.reverse 2.sort
3.reverse() 方法用于颠倒数组中元素的顺序。
var arr = [1,2,3,4,5,6];document.write(arr.reverse());//var arr = [6,5,4,3,2,1];
4.sort() 方法用于对数组的元素进行排序。
var arr = [33, 4, 1111, 222];arr.sort(); //字母表顺序: 1111, 222, 33, 4arr.sort(function (a, b) {//数值顺序:4, 33, 222, 1111 return a-b; //根据顺序,返回负数、0、正数});arr.sort(function(a, b) {return b - a});
5.toStriing()和toLocaleString()方法可把数组转换为字符串,并返回结果。
var arr = [George, John, Thomas];//创建一个数组document.write(arr.toString());//生成'George, John, Thomas'document.write(arr.toLocaleString()); //生成'George, John, Thomas'
6.join() 方法用于把数组中的所有元素放入一个字符串。
var a = [1,2,3];var b =a.join(" ");//"1 2 3"var c = new Array(10);var d = c.join('-');//"---------"
7.indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
var a = [0,1,2,1,0];var b = a.indexOf(2);document.write(b);//2
1 0
- javascript 数组
- JavaScript 数组
- Javascript数组
- javascript数组
- JavaScript 数组
- JavaScript 数组
- javascript数组
- javascript 数组
- javascript数组
- javaScript 数组
- JavaScript数组
- javascript数组
- javascript 数组
- javascript数组
- javascript数组
- JavaScript数组
- javascript数组
- javascript 数组
- [leetcode] 451. Sort Characters By Frequency
- Java 集合:Collection,List,ArrayList,Vector,LinkedList(实现方式,对比)
- Xcode 宏定义log 以及lldb控制台输出数据信息
- Linux学习总结(二)——Shell编程
- php 学习之 文件加载 include require
- javascript数组
- Linux学习总结(三)——Shell常见命令解析
- sentry搭建过程
- android中getSystemService详解
- Android中创建so库存储密钥,NDK环境搭建与jni介绍
- Git—创建版本库
- iOS对象方法和类方法的区别与调用方式
- arttemplate 讀取map轉成的json數據
- Windows tcp客户端程序 设置非阻塞