浅谈JavaScript数组简介

目录
  • 数组简介
  • 数组字面量
  • 二维数组
  • 总结

数组简介

数组Array) - 数组也是一个对象

它和我们普通对象功能类似,也是用来储存一些值的

不同的是普通对象是使用字符串作为属性值的,而数组时使用数字来作为索引操作元素。

索引:从0开始的整数

数组的储存性能比普通对象要好,在开发中我们经常使用数组来储存一些数据

创建数组:

var arr = new Array();
使用 typeof检查一个数组时,会返回 object

向数组中添加元素

语法: 数组[索引] = 值

读取数组中的元素

语法: 数组[索引]

如果读取不存在的索引,它也不会报错而是返回 undefined

获取数组的长度

可以使用 length属性来获取数组的长度(元素的个数)

语法: 数组.length

对于连续的数组,使用 length可以获取到数组的长度(元素的个数)

对于非连续的数组,使用 length会获取到数组的最大的索引+1

尽量不要创建非连续的数组。

修改 length

如果修改的 length小于原长度,则多出来部分会空出来

如果修改的 length小于原长度,则多出的元素会被删除

向数组最后一个位置添加元素

语法: 数组[数组.length] = 值

arr[arr.length] = 70;
arr[arr.length] = 80;
arr[arr.length] = 90;

数组字面量

使用数组字面量创建数组

语法:[]

var arr = [] ;

使用字面量创建数组时,可以在创建时就指定数组中的元素

var arr = [1,2,3,4,5];

使用构建函数创建数组时,也可以同时添加元素,将要添加的元素作为构建函数的参数传递,元素之间使用,隔开

var arr = new Array(1,2,3,4,5);

注意:

用[]创建一个数组数组中一个元素10

var arr = [10];

使用构建函数创建数组一个参数时,是创建一个长度为10的空数组;

var arr = new Array(10);
console.log(arr);
console.log("arr.length="+arr.length);

数组中可以是任意的数据类型

var arr = ["孙悟空", 1, true, null, undefined];
console.log(arr);

可以是对象

var arr = [{name:"孙悟空"}, {name:"猪八戒"}, {name:"沙悟净"}];
console.log(arr[0].name);

可以是函数

var arr = [
    function () { alert(1) },
    function () { alert(2) }];

通过arr[0]()调动函数

二维数组

创建:

使用[]

var arr = [[1,2,3],[4,5,6],[7,8,9]];
//3行3列的二维数组

使用new Array

  var a = new Array(
			new Array(10,20,30),
			new Array(11,22,33),
			new Array(45,56,67)
		)

元素的访问 数组名[行下标][列下标]

(1)二维数组的转置:

var a = [
    ['a','b','c'],
    ['d','e','f'],
    ['g','h','i'],
    ['i','k','I']
]
var str = ''
for(var i=0;i<a.length;i++){
    for(var j=0;j<a[i].length;j++){
        str += a[i][j]+'\t';
    }
    str += '\n';
}
console.log("转置前:\n",str);
var res = []
for(var i=0;i<a[0].length;i++){
    res[i] = []
    for(var j=0;j<a.length;j++){
        res[i][j] = a[j][i];
    }
}
console.log("转置后:",res);

(2)定义一个二维数组,输出这个数组的每行元素的最大值

var str = ''
for(var i=0;i<a.length;i++){ //外循环:a.length表示二维数组的行数
    for(var j=0;j<a[i].length;j++){ //内循环:a[i].length表示i行的元素个数(列数)
        str += a[i][j]+'\t'
    }
    str += '\n'; //在每行的末尾添加换行符
}
console.log(str);
for(var i=0;i<a.length;i++){
    var max = a[i][0]
    for(var j=1;j<a[i].length;j++){
        if(max<a[i][j]){
            max = a[i][j];
        }
    }
    console.log("第"+(i+1)+"行的最大值是:"+max)
}

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • JavaScript数组详细归纳

    目录 一.数组归纳 1. 字符串拆分为数组 2. 将集合和映射转换为新数组 3. 对现有数组进行浅复制 4. arguments 对象轻松转换为数组 5. 转换自定义对象 二.迭代器方法 三.数组常用操作方法 一.数组归纳 1. 字符串拆分为数组 console.log(Array.form("red")) // ["r", "e", "d"] 2. 将集合和映射转换为新数组 const a1 = new Map().set(

  • 常用的JavaScript数组方法

    目录 1.filter() 2.forEach() 3.some() 4.every() 5.reduce() 6.合并数组 1.filter() 语法: array.filter(function(currentValue,index,arr), thisValue) 参数说明: currentValue:当前元素对象(必选) index:当前元素的索引值(可选) arr:当前元素属于的数组对象(可选) thisValue:对象作为该执行回调时使用,传递给函数,用作 "this" 的

  • js数组的基本使用总结

    前言 数组是一种特殊对象.js中并没有真正的数组,只是用对象模拟数组. 查看对象属性的方法在数组身上也同样适用.值得注意的是:数组的下标类型为字符串,并不是数字. 典型数组和js数组区别 类似c/c++的典型数组特征如下: 元素的数据类型相同 使用连续的内存存储 通过数字下标获取元素 js的数组 元素的数据类型可以不同 内存不一定是连续的(对象是随机存储的) 不能通过数字下标访问,而是通过字符串下标进行访问.(这意味着数组可以有任何key) 上图说明的是最后一点:数组可以有任何key,想证明数组

  • javascript 数组精简技巧小结

    数组是 JS 最常见的一种数据结构,咱们在开发中也经常用到,在这篇文章中,提供一些小技巧,帮助咱们提高开发效率. 1. 删除数组的重复项 2. 替换数组中的特定值 有时在创建代码时需要替换数组中的特定值,有一种很好的简短方法可以做到这一点,咱们可以使用.splice(start.value to remove.valueToAdd),这些参数指定咱们希望从哪里开始修改.修改多少个值和替换新值. 3. Array.from 达到 .map 的效果 咱们都知道 .map() 方法,.from() 方

  • javascript类数组的深入理解

    js数组,相比大家都很熟悉,因为走到哪都要用,但它有个"双胞胎弟弟" ,叫类数组(也叫伪数组),可能有的人了解,有的人不了解,今天我们来看一看. 什么是类数组 顾名思义,这玩意儿肯定是个长得像数组,但又不算数组的东西.那到底是个啥,其实它就是一个对象,一个长的像数组的对象. 和数组的区别 那类数组和数组有啥区别: 1.都有length属性 2.类数组也可以for循环遍历,有的类数组还可以通过 for of 遍历 3.类数组不具备数组的原型方法,因此类数组不可调用相关数组方法(如,pus

  • 浅谈JavaScript数组简介

    目录 数组简介 数组字面量 二维数组 总结 数组简介 数组(Array) - 数组也是一个对象 它和我们普通对象功能类似,也是用来储存一些值的 不同的是普通对象是使用字符串作为属性值的,而数组时使用数字来作为索引操作元素. 索引:从0开始的整数 数组的储存性能比普通对象要好,在开发中我们经常使用数组来储存一些数据 创建数组: var arr = new Array(); 使用 typeof检查一个数组时,会返回 object 向数组中添加元素 语法: 数组[索引] = 值 读取数组中的元素 语法

  • 浅谈Javascript数组(推荐)

    在程序语言中数组的重要性不言而喻,JavaScript中数组也是最常使用的对象之一,数组是值的有序集合,由于弱类型的原因,JavaScript中数组十分灵活.强大,不像是Java等强类型高级语言数组只能存放同一类型或其子类型元素,JavaScript在同一个数组中可以存放多种类型的元素,而且是长度也是可以动态调整的,可以随着数据增加或减少自动对数组长度做更改. 首先,大概说说数组的基本用法. 数组,即Array类型,是开发中最常用的类型之一,javascript中的数组和其他语言最大的区别就是每

  • 浅谈Javascript数组索引

    从题目说起,之所以是不完全,是因为有些东西比如数组的方法怎么用这个我都不打算讲,因为那个看一下都会,下面讲的都是我觉得重要的,只关于数组对象本身.另外,由于我的Javascript实战经验不多,所以可能有些东西没涉及到,有些内容说的有误,请发现问题的同学不吝指教. 首先,Javascript(下称js)的数组定义,这不是重点,简单说下,下面两句都是创建一个空的数组: var arr = []; var arr2 = new Array(); // 不写new也可以. 在创建之后,你就可以随时往数

  • 浅谈Javascript 数组与字典

    Javascript 的数组Array,既是一个数组,也是一个字典(Dictionary). 先举例看看数组的用法. 复制代码 代码如下: var a = new Array();  a[0] = "Acer";  a[1] = "Dell";  for (var i in a) {      alert(i);   } 上面的代码创立了一个数组,每个元素都是一个字符串对象. 然后对数组进行遍历.注意 i 的结果为 0 和 1,a[i] 的结果才为字符串. 这个很象

  • 浅谈Javascript数组的使用

    上一篇说了数组的索引,这一篇说下数组的使用. 数组的大小 js的数组可以动态调整大小,更确切点说,它没有数组越界的概念,a[a.length]没什么问题.比如声明一个数组a = [1, 3, 5],现在的数组大小是3,最后一个元素的索引是2,但是你依然可以使用a[3],访问a[3]返回的是undefined,给a[3]赋值:a[3] = 7,是给数组a添加了一个元素,现在数组a的长度是4了.你可以试试把下面这段代码放到浏览器里运行下: var a = []; for(int i = 0; i <

  • 浅谈JavaScript中数组的增删改查

    数组的增加 •ary.push()   向数组末尾添加元素,返回的是添加后新数组的长度,原有数组改变 •ary.unshift()  向数组开头添加元素,返回的是添加后新数组的长度,原有数组改变 • var ary=[1,2,3,4];   var res=ary.unshift(6);   console.log(res); ---->5 返回的是新数组的长度•ary.splice(n,m,x)从索引n开始删除m个元素,把新增的元素X放在索引n的前面,把删除的元素当成一个新数组返回,原有数组改

  • 浅谈javascript运算符——条件,逗号,赋值,()和void运算符

    前面的话 javascript中运算符总共有46个,除了前面已经介绍过的算术运算符.关系运算符.位运算符.逻辑运算符之外,还有很多运算符.本文将介绍条件运算符.逗号运算符.赋值运算符.()和void运算符 条件运算符 条件运算符是javascript中唯一的一个三元运算符(三个操作数),有时直接称做'三元运算符'.通常这个运算符写成'?:',当然在代码中往往不会这么简写,因为这个运算符拥有三个操作数,第一个操作数在'?'之前,第二个操作数在'?'和':'之间,第三个操作数在':'之后 varia

  • 浅谈JavaScript中面向对象的的深拷贝和浅拷贝

    理解深拷贝和浅拷贝之前需要弄懂一些基础概念,内存中存储的变量类型分为值类型和引用类型. 1.值类型赋值的存储特点, 将变量内的数据全部拷贝一份, 存储给新的变量. 例如:var num = 123 :var num1=num; 表示变量中存储的数字是 123.然后将数据拷贝一份,就是将 123 拷贝一份. 那么内存中有 2 个 数组;将拷贝数据赋值给 num2,其特点是在内存中有两个数据副本.这可以理解为浅拷贝. 2.引用类型的赋值. var o={name:'张三'}: var obj=o;

  • 浅谈javascript中的Function和Arguments

    javascript的Function 属性: 1.Arguments对象 2.caller 对调用单前函数的Function的引用,如果是顶层代码调用,  则返回null(firefox返回undefined).  注:只有在代码执行时才有意义 3.length 声明函数是指定的命名参数的个数(函数定义是,定义参数的个数) 4.prototype 一个对象,用于构造函数,这个对象定义的属性和方法  由构造函数创建的所有对象共享. 方法: applay() --> applay(this,[])

  • 浅谈JavaScript的内置对象和浏览器对象

    在javascript中对象通常包括两种类型:内置对象和浏览器对象,此外,用户还可以自定义对象. 对象包含两个要素: 1. 用来描述对象特性的一组数据,也就是若干变量,通常称为属性. 2. 用来操作对象特性的若干动作,也就是若干函数,通常称为方法. 浏览器对象 对象 含义 anchor 当前文档中设置了name属性的超链接 applet 当前文档中的小程序 area 客户端图形映射中的区域 button 表单中的按钮 checkbook 表单中的复选框 document 当前窗口中的HTML文档

随机推荐