javascript (Es5 )数组基础篇

200 阅读2分钟

前言

        改变,从行动开始!!做开发也有段时间,平常也会做一些开发笔记,一直想抽空好好梳理下,但是一到放假有空就不想动了,踌躇了很久,下定决心改变自己,提升自己。每周坚持两篇博客,既是重新梳理自己的知识,也是重新学习的过程。加油!!

数组的声明

什么是数组?
数组是一种特殊的变量(引用数据类型),它能够一次存放一个以上的值。数组可以用一个单一的名称存放很多值,并且还可以通过引用索引号来访问这些值。
创建数组
js中有两种数组的创建方法。

 // 使用new关键字。  不常用
let newArr = new Array(1, 2, 3);
// 使用数组文本创建。 常用
let arr = [1, 2, 3];
console.log(arr, newArr); //[1,2,3] [1,2,3] 以上两个例子效果完全一样。无需使用 new Array()。

数组属性和数组元素
数组是一种特殊类型的对象。在 JavaScript 中对数组使用 typeof 运算符会返回 "object"。 数组的主要属性就是数组的长度(length)和索引号(下标号)。

console.log(typeof(arr)) //object
console.log(arr.length); // 3 数组的length属性返回数组的长度(数组元素的数目)。length 属性始终大于最高数组索引(下标)。
// 数组索引从 0 开始[0] 是数组中的第一个元素。[1] 是第二个
console.log(arr[0]); // 1 访问第一个数组元素
console.log(arr[arr.length-1]); // 3 访问第一个数组元素

数组和对象的区别
在 JavaScript 中,数组使用数字索引,对象使用命名索引。数组是特殊类型的对象,具有数字索引。
如何识别数组
在日常的开发中有时候需要对数据进行一些逻辑处理,需要知道该数据是否为数组。

// 解决方案 1:  Array.isArray() 不支持老的浏览器
let str = 'String字符串'
Array.isArray(str)//返回 false 非数组
Array.isArray(arr)//返回 true  是数组

//解决方案 2:创建自己的 isArray() 函数以解决此问题:
function isArray(arr) {
    return arr.constructor.toString().indexOf("Array") > -1;
}
//假如对象原型包含单词 "Array" 则返回 true。
isArray(arr);//true

// 解决方案 3: instanceof 运算符
arr instanceof Array // 返回 true 
str instanceof Array // 返回 false 

结束语

        这是一个改变的开始,若干年后,希望这份改变已经变成了日常,也希望看到这篇文章的人能够开始进行一些好的改变,并实施行动。更好的提升自己,让未来拥有更多的选择,与君共勉。