JavaScript-数组

什么是数组

数组是值的有序鸠合。数组中的每一个值叫一个元素,每一个元素在数组中都有一个唯一的位置。这个位置用数字示意叫索引数组;用字符串示意叫关联数组。
数组的元素可所以差别的范例
能够动态的向数组差人新元素,或许删除指定元素

一维数组

定义数组

定义数组的体式格局有三种

/*数组字面量体式格局定义数组*/
var arr1 = []//空数组
var arr2 = [2,'',true] //数组内元素可所以差别的范例
console.log(arr2)

var arr3 = [3]//数组元素为3
console.log(arr3)

/*数组函数体式格局定义数组*/
var arr4 = Array()//空数组
var arr5 = Array(3)//当只要一个元素且为数字时,示意数组的长度

/*组织函数体式格局定义数组*/
var arr6 = new Array()//空数组
var arr7 = Array(3)//当只要一个元素且为数字时,示意数组的长度

索引数组

/*
    *索引数组-数组中元素的位置用数字示意,称之为下标或角标
    *下标是从0最先
     *数组的长度与元素的个数一致 */
var arr = [];//定义一个空的数组
arr[0] ='化物语';
arr[1] ='伪物语';
arr[2] ='猫物语';
    console.log(arr.length);//推断数组的长度

关联数组

/*
*   关联数组中的元素是用字符串示意
*   */
var arr = [];
arr['name'] ='西尾维新';
arr['job'] ='作家';
//输出效果
   /* [ name: '西尾维新', job: '作家' ]*/

/*关联数组的长度与元素的个数不一致
* 缘由:官方不支持关联数组*/
console.log(arr.length);//输出为0

希罕数组

/*当索引数组的位置不一连,没有定义元素的位置为(undefined)
*  希罕数组:数组长度与元素数量不一致的索引数组*/
var arr = [];
arr[0] ='化物语';
arr[2] ='伪物语';
arr[5] ='猫物语';
console.log(arr);
/*输出效果
* [ '化物语', <1 empty item>, '伪物语', <2 empty items>, '猫物语' ]
*/
//* empty item等价于undefined

数组元素的读取

var arr = ['化物语',23,true];
/*挪用数组称号,获得的是元素数据鸠合-[ '化物语', 23, true ]*/
console.log(arr);
/*挪用元素->数组称号[索引值] -化物语*/
console.log(arr[0]);
/*挪用没有定义位置的元素,效果为undefined*/
console.log(arr[4]);

数组元素的修正

/*定义索引数组*/
var arr1 = [];
arr1 [0] ='化物语';
arr1 [1] ='23';
/*定义关联数组*/
var arr2 = [];
arr2 ['name'] = '伤物语';
arr2 ['age'] = '233';
//经由过程数组索引值找到对应元素的位置,从新赋值
arr1[0] = '伪物语';
console.log(arr1[0]);//伪物语
arr2['name'] = '猫物语';
console.log(arr2['name']);//猫物语

/*关于数组中没有的索引值,就是从新增加一个元素*/
arr1[3] = '浮生六记';
console.log(arr1[3]);//浮生六记

数组元素的删除

/*delete运算符用来删除数组的元素
* 关于索引数组被删除的元素只是删除数据内容,位置会被保存
* 索引数组变成希罕数组
 */
var arr = [];
arr[0] = '化物语';
arr[1] = '国风';
delete arr[0];
console.log(arr[0]);//undefined

轮回遍历数组元素

var arr = ['化物语','23','true'];
//for语句-最经常使用
for (var i=0 ; i<arr.length;i++){
    console.log(arr[i])
}
//whil语句
/*
var i = 0 ;
while (i<aee.length){
    console.log(arr[i]);
    i++
}*/
//do...whi语句
/*
var i = 0;
do {
    console.log(arr[i]);
    i++
}while (i<arr.length);*/

var arr = ['化物语','23','true'];
/*//
* for(变量 in 数组称号){
*      语句}
*      */
for(var i in arr){
    console.log(arr[i])
}

二维数组

二维数组就是数组作为元素被包含在另一个数组中

var arr = [];
arr[0] = ['风','雅'];
arr[1] = ['童年','在人世'];
/*
console.log(arr)//[ [ '风', '雅',  ], [ '童年', '在人世' ] ]*/
//接见二维数组中的元素
//console.log(arr[0][0])//风

/*
var result = arr[0]
console.log(result[1])//雅
*/

//轮回遍历二维数组
for(var i=0 ;i<arr.length;i++){
    console.log(arr[i]);
    for(var n=0;n<arr.length;n++){
        console.log(arr[i][n])
    }

}
    原文作者:李威振
    原文地址: https://segmentfault.com/a/1190000015951497
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞