JavaScript进修第四天笔记(数组)

数组

概述

数组是什么

数组是值的有序鸠合。数组中的每一个值叫做一个元素,而每一个元素在数组中都右一个唯一的位置。这个位置用数字示意,叫做索引数组;用字符串示意,叫做关联数组。
JavaScript数组是无范例的;数组的元素可所以任何的范例(字符串,数字值,布尔值等),而且每一个数组的差别元素多是差别的范例。
JavaScript数组是动态的:根据需要,能够动态地向数组插进去新的元素,或许从数组中删除指定的元素

一维数组

定义数组

1.运用字面量/直接量体式格局定义

语法:

 var 数组称号 = [元素1,元素2,...]

示例代码:

var arr1 = [];/*定义一个空数组*/
var arr2 = [100,'星矢',true];
console .log(arr1);/*输出效果为:[]*/
console .log(arr2);/*输出效果:[100,'星矢',true]*/

2.组织函数体式格局

语法:

 var 数组称号 = new Array (元素1,元素2,...);
 var 数组称号 = new Array (length);/*length是number范例 示意数组的长度(存在的元素个数)*/

示例代码:

var arr1 = new Array ();/*定义一个空数组*/
var arr2 = new Array (100,'星矢',true);
var arr3 = new Array (length);
console .log(arr1);  输出效果:[100,'星矢',true]*/
console .log(arr2);  /*输出效果:*/
console .log(arr3);  /*输出效果:[ <10 empty items> ]*/ 

3.函数体式格局定义

语法:

 var 数组称号 = Array(元素1,元素2,元素3...);
 var 数组称号 = Array(length); 

示例代码:
var arr1 = Array(100,5,2,);
var arr2 = Array(5);
console .log(arr1);/输出效果:[ 100, 5, 10 ]/
console .log(arr2);/输出效果:[ <50 empty items> ]/

索引数组

概述

索引数组就是存储元素的位置运用数字值来示意,平常称之为下标或角标。数组的长度与元素的个数是一致的,数字是以0开首的。
示例代码以下:

var arr = [];
arr[0]='索引数组';
arr[1]=100;
arr[2]=true;
console .log(arr);/*输出效果为: ['索引数组',100,true]*/

关联数组

注重:关联数组的数组的长度与元素的个数不一致,原因是JavaScript的官方不支持关联数组。

var arr = [];/*定义一个空数组*/
arr['who']='谁啊'
arr['what']='啥啊'
arr['how']='咋的了'
console .log(arr);/*输出效果:[ who: '谁啊', what: '啥啊', how: '咋的了' ]*/

希罕数组

索引数组的位置许可不一连的,没有定义的元素的位置默以为空(undefined),如许的数组叫做希罕数组,数组的长度与元素的个数是不一样的。
示例代码:

var arr = [];
arr[0]='谁啊';
arr[5]='啥啊';
arr[6]='咋的了';
console .log(arr);
console .log(arr.length);/*输出的效果为:
                          [ '谁啊', <4 empty items>, '啥啊', '咋的了' ]
                          7
                         */

将希罕数组举行处置惩罚,获得一般的索引数组

var newArr=[];
for (var i=0; i<arr.length; i++){
    if(arr[i] !== undefined){
        newArr.push(arr[i]);
    }
}
console .log(newArr);

接见数据的元素

示例代码以下:

// 定义数组的默以为索引数组
var arr = ['索引数组',100,null];
// 挪用数组称号时,获得只是存储一切元素数据的鸠合
console.log(arr);
// 接见索引数组中的元素 -> 数组称号[索引值]
console.log(arr[0]);
// 假如接见了数组中未定义的位置的元素时 - 语法不抱错,效果为 undefined
console.log(arr[5]);
// 索引数组中索引值最大为 arr.length - 1

// JavaScript中的关联数组定义与接见都是没有问题的
var arr1 = [];
arr1['name'] = 'Chambers';
arr1['age'] = 23;
arr1['job'] = '门生';

console.log(arr1['name']);

数组的修正

示例代码:

var arr1 = [];
arr1[0] = '卧龙学苑';
arr1[1] = true;
// 关联数组
var arr2 = [];
arr2['name'] = '张无忌';
arr2['age'] = 19;
arr2['job'] = '教主';
// 经由过程数组的索引值找到对应元素的位置,再经由过程从新赋值的操纵举行修正
arr1[0] = 100;
console.log(arr1);

arr2['name'] = '周芷若';2176491621
console.log(arr2);
// 假如索引值是新的,就是新增数组的元素操纵
arr1[4] = '卧龙学苑';
console.log(arr1);

数组的删除

var arr1 = [];
arr1[0] = '卧龙学苑';
arr1[1] = true;
// 关联数组
var arr2 = [];
arr2['name'] = '张无忌';
arr2['age'] = 19;
arr2['job'] = '教主';

/*
    运用 delete 运算符举行删除数组的元素
    * 注重 - 只是删除元素的数据内容,而对应的位置被保存 -> 希罕数组
  */
delete arr1[0];
console.log(arr1);

轮回遍历数组

var arr = ['卧龙学苑', 100, true, undefined];
for (var i=0; i<arr.length; i++) {
    console.log(arr[i]);
}

for…in语句

在ECMAScript5中新增了for…in语句 一样可用于遍历数组
for…in语句还能够用于遍历希罕数组 轮回的每次将一个有用元素返回
for语句: 轮回的最先和完毕 都是由程序员决议的
for..in语句: 轮回只能从最先到完毕

var arr = ['卧龙学苑', 100, true, undefined];
for (var i in arr) {
    console.log(arr[i]);
}

二维数组

什么是二维数组

数组是能够嵌套的,这就意味着数组能够作为一个元素被包含在别的一个数组内里,应用JS这个特性建立二维数组,即数组的数组。

var arr = [];// 定义一个空数组
arr[0] = [100,200,300];
arr[1] = [400,500,600];
arr[2] = [700,800,900];

// console.log(arr);
// 接见二维数组中的元素
var result = arr[0];
/*console.log(result[0]);

console.log(arr[0][0]);*/

// 轮回遍历二维数组
for (var i=0; i<arr.length; i++) {
    console.log(arr[i]);
    for (var j=0; j<arr[i].length; j++) {
        console.log(arr[i][j]);
    }
}
    原文作者:老板便宜一点呗
    原文地址: https://segmentfault.com/a/1190000015953192
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞