从数据说起
数据是程序运行过程中操作的值。比如店铺的名称、超市里商品的价格和数量、十字路口的红绿灯等都可以理解为数据。
'庆丰包子铺`
9.99
true
false
这些数据具有不同的特点,比如字符串可以拼接,数值可以做运算,布尔值可以做判断等。为了提升程序运行的性能,针对不同特点的数据,我们提出数据类型的概念。我们把数据分为以下两种类型:
简单数据:字符串、数值、布尔、undefined、null、symbol
复杂数据: 数组、对象、函数等
数组是什么
- 数组也是一种数据类型
- 数组是一种由简单数据类型组成复杂数据类型。
- 数组是由方括号包裹的多个值。其中每个值称为数组元素
示例:数值数组
var arr = [1,2,3,4,5]
示例:字符串数组
var str = ['a','b','c','d','e']
创建数组的方法?
- 直接量
- 构造函数法
数组的特点
- 1、数组是有序排列的,且无类型
- 2、数组的元素,既可以是基本数据类型,也可以是引用数据类型创建数组对象会在内存中开辟一整块连续的空间
- 3、数组可以存储不同类型的数据,存储空间不够用时,它会自动扩容
- 4、数组属于引用类型的变量,数组中的默认存储值是undefined。可以访问数组中不存在的索引,会返回undefined
如何访问数组
- 使用[ ]访问数组元素
如何遍历数组
- for循环
- forEach() 方法:使用回调函数
- map() 方法:使用回调函数
- for..in 循环:遍历对象和数组
- for…of 循环:遍历对象和数组
array.length
定义
length
设置或返回数组中元素的数量。
语法
array.length
返回值
返回数组中元素的数量。
示例
var arr = [1,2,3,4,5,6,7,8,9]
console.log(arr.length) //返回值为9
Array.isArray()
定义
Array,isArray()
方法用于检测是否是数组
语法
Array.isArray(value)
- value:要检测的值
返回值
true: 如何是数组,返回true
false: 如果不是数组,返回false
示例(原则:用最简单的例子呈现知识点原理)
var str = 'hello wolrd'
var arr = [1,2,3,]
console.log(Array.isArray(str)) // false
console.log(Array.isArray(arr) // true
array.push
定义
array.push
向数组的末尾添加一个或多个元素,并返回新的长度。
语法
array.push(item1, item2, ..., itemX)
//item: 添加元素
返回值
返回新的数组长度
示例
var arr = [1,2,3]
arr.push(4)
arr.push(4,5,6)
console.log(arr) // 返回长度为7,返回[1,2,3,4,,4,5,6]
array.unshift()
定义
unshift
方法将新元素添加到数组的开头,并返回新的长度。
语法
array.unshift(item1, item2, ..., itemX)
- item1
返回值
返回新元素添加到数组开头之后的新长度
示例
var arr = [1,2,3,4,5]
arr.unshift(8,9)
console.log(arr) // 向旧数组前面添加新元素,所以返回的值为[8,9,1,2,3,4,5]
array.pop()
定义
array.pop()
该方法用于删除数组最后一个元素,并将被删除的元素作为返回值返回
语法
array.pop()
返回值
返回被删除的元素
示例
var arr = [1,2,3]
arr.pop()
console.log(arr) //返回值为1,2
shift
定义
shift
该用法用于删除数组的第一个元素,并返回该元素。
语法
array.shift()
返回值
返回数组原来的第一个元素的值(移除的元素),可以是任何类型(因为数组元素可以是一个字符串,数字,数组,布尔,或者其他对象类型)
示例
var arr = [1,2,3,4,5,6,7,8];
arr.shift();
console.log(arr) //返回值为2,3,4,5,6,7,8
array.reverse()
定义
reverse()
方法反转数组中元素的顺序
语法
array.reverse()
返回值
- 无参数
示例
var arr = [1,2,3]
arr.reverse()
console.log(arr) // 将[1,2,3]反转为[3,2,1]