一、什么是引用类型——Object
引用类型是一种数据结构,而对象是引用类型的实例。有时候也叫对象定义,包含对象的属性和方法。
Object是原生引用类型之一。
创建对象实例的方法:
1.使用new操作符
var obj = new Object()
obj.name = "aaa"
obj.age = 12
2.使用对象字面量的形式
var obj = {
name: "aaa"
age: 12
}
——————————————————————————————————
访问对象属性的两个方法:
1.obj.name 点表示法
2.obj["name"] 方括号表示法
区别:方括号表示法可以通过变量访问,还可以对语法错误、关键字、保留字定义的属性进行访问。
二、Array类型
数组不同于其他语言,有以下特点:
- 数组的每一项可以保存不同类型的数据
- 数组的长度是可变的,可以随着数据增加或减少而改变
````创建数组的方式:
1. var arr = new Array() //使用new Array构造函数的方法
2. var arr = [1,2,'sss'] //使用字面量的形式
访问数组元素的方法:
通过数组索引的形式如 arr[0]
注意:数组的length不是只读的,修改length会修改数组。当设置length长度小于原有长度会自动截取最后的元素,如果大于,会自动新增undefined的元素。
当数组的项发生变化时,数组的length长度会重新计算。
````检测数组的方式:
1.arr instanceof(Array)
2.Array.isArray(arr)
数组的常用方法:
1.push() 可以接收任意数量的参数,逐个加到末尾,返回修改后数组的长度。
2.pop() 从数组末尾移除最后一项,减少length值,然后返回移除的项。
3.shift() 移除数组中第一个项并返回该项,同时数组长度减1。
4.unshift() 向数组添加任意项兵返回新的长度。
5.reverse() 反转数组项的顺序,返回按顺序输出的数组。
6.sort() 按升序排列,会自动调用toString()的方法。通过比较得到的字符串,按照从小到大的顺序排列输出数组。即使是数值也要比较字符串的大小。ps: 通常可以定义一个比较函数,定义升序或者降序的函数,再用sort()调用。
7.concat() 返回被连接数组的一个副本,不会改变原数组。如果传递的是一个或者多个数组,方法会讲数组中的每一项添加到末尾数组中。达到合并数组的功能。如果参数不是数组,则会添加到数组的末尾。
8.slice() 基于当前数组中的一个或多个项创建一个新数组,接受一个或两个参数【要返回项的起始和结束位置】。不会改变原数组。
如果只有一个参数,则是返回从这个起始项到数组末尾的所有项。而如果有两个参数,则是返回起始和结束位置之间的那些项,不包含结束位置的项。
ps:如果参数中包含负数,则是这个数加数组的长度来确定最后的位置,如果结束位置小于起始位置,返回空数组。
9.splice() 最强大,可以删除、插入和替换。主要是根据传入的参数决定。结果会返回一个新数组【从原数组中删除的项或者空数组】,会改变原数组。
如果传递两个参数,可以删除任意数量的项,要删除的第一个项的位置和要删除的项数。
如果是传递三个参数:
第一种情况:起始位置、0、要插入的项,在起始位置插入需要的数据。
第二种情况:起始位置、要删除的项数、要插入的任意数量的项。
10.indexOf() 从数组的开头开始向后查找,接收两个参数,要查找的项和表示查找起点位置的索引【可选的】返回要查找的项在数组中的位置,没找到就返回-1,查找的项是根据严格全等的标准
11.lastIndexOf() 从数组的末尾开始向前查找,接收两个参数,要查找的项和表示查找起点位置的索引【可选的】返回要查找的项在数组中的位置,没找到就返回-1,查找的项是根据严格全等的标准
迭代方法【都不会修改数组中包含的值】:每个方法都接收两个参数,要在每一项上运行的函数和运行该函数的作用域对象——影响this的值(可选的),传入这些方法中的函数接收三个参数:数组项的值、该项在数组中的位置和数组对象本身。
首先这两个方法都用于查询数组中的项是否满足某个条件。
1.every() 运行传入的函数,如果该函数对每一项都返回true,则返回true;【即数组的每一项都需要能符合运行函数的条件才返回true,否则false。必须全部符合】
2.some() 运行传入的函数,只要传入的函数对数组中的某一项返回true则返回true;【即数组的某一些项能符合运行函数的条件就返回true,否则false。至少有一项符合就行】
3.forEach() 没有返回值,和for循环机制一样
4.map() 返回每次函数调用的结果组成的数组
5.filter() 用来查询符合某些条件的数组项,返回一个数组的形式。
6.map() 返回一个新数组,通常用来对原始数组的每一项进行一个操作处理,比如对每一项加1。
归并方法:
1.reduce() 从数组的第一项开始,逐个遍历到最后。
2.reduceRight() 从数组的最后一项开始,向前遍历到第一项。
ps: 都接收四个参数:前一个值、当前值、项的索引和数组对象。
var arr = [1,2,3,4,5]
var sum = arr.reduce(function(prev,cur,index,arr){
return prev+cur;
})
标签:返回,补漏,位置,arr,js,查找,参数,数组,查缺
From: https://blog.csdn.net/weixin_45404779/article/details/142798419