JS数组初学者简解(作者拔发而作)

首先我们得知道数组是什么?(是什么呢?_?)

  • 数组是一种数据类型
  • 数组可以储存不同数据类型的数据(啥都可以存哦!(●'◡'●))

创建数组

怎么创建数组呢?有两个方法直接量法构造函数法

直接量法

const arr = ['zhangsan','lisi']

构造函数法

定义:构造函数就是构造对象的一种模具(函数)
构造函数的语法:任何一个构造函数在构造对象的时候必须遵循固定语法(这里必须记住哦,是固定的用法!(╯▔皿▔)╯):

new Array()
new String()
new Boolean()
new Number()

//new : 新的(new一个对象,new一个新数组)

Array()(没看错,就是这样用(●ˇ∀ˇ●),平常我们都是用直接法做的(づ ̄3 ̄)づ╭❤~)

var arr = new Array('hehe',1314,true)

数组的特点

1. 数组是有索引的

  • 数组的第一个值的索引是0
  • 第二个是1
  • ......
  • 最后一个的是数组的长度length-1

2. 数组的比较

  • 简单数组类型比较值(内存中的值)
  • 复杂数据类型比较址(内存中的地址)
  • 简单数据类型复制是复制值
  • 复杂数据类型复制是复制址

如何访问数组

使用方括号加下标访问数组元素(别用错了,是下标,别第一个就用1,第一个得用0!╰(‵□′)╯)

const arr = [1,2,3]
arr[0] //1
arr[1] //2
arr[2] //3
arr[3] //undefined

遍历数组的方法

  1. for 循环
var arr = ['hello',200,true,[1,2,3],null]
        for(let i = 0 ; i < arr.length ; i++){
            console.log(Array.isArray(arr[i]))
        }
  //先返回3次false 再返回1次true 最后返回一次false
  1. forEach
var arr = ['hello',200,true,[1,2,3],null]
        arr.forEach(x=>{
            console.log(Array.isArray(x))
        })
    //先返回3次false 再返回1次true 最后返回一次false

array.length

定义:返回数组的长度
语法:

  1. 主人是数组
  2. length是属性,没有参数

返回值:数组的长度

  • 注意: length-1是任何一个数组最后一个元素
  • []空数组的length是0

数组的方法

很多的欸,我肯定不会一下给你全部列出来啊,可以去W3C(https://www.w3school.com.cn/jsref/jsref_obj_array.asp)去看哦(●'◡'●)

Array.isArray

定义:Array.isArray()方法用来检测是否是数组
语法:

Array.isArray(value)
  • value:是要检测的值

返回值:

  • true:如果是数组,返回true
  • false:如果不是数组,返回false

实例

var arr = [[1,2],'12']
console.log(Array.isArray(arr[0])) //返回true
console.log(Array.isArray(arr[1])) //返回false

array.push()

定义:array.push()用来在数组末尾添加元素
语法:

array.push('iteam1','iteam2','iteam3'....,'iteamx')
  • 可以添加多个元素
    返回值:返回新数组的长度
    实例
var arr = [1,2]
arr.push(3)
console.log(arr) 

结果

6

array.pop()

定义:删除数组的最后一个元素
语法:

array.pop() //无参数

返回值:返回删除元素
实例

var arr = [1,2,3]
var str = arr.pop()
console.log(str) //返回3

array.unshift()

定义:再数组前添加元素
语法:

array.unshift('iteam1','iteam2'...,'iteamX') //可添加多个元素

返回值:返回新数组长度
实例

var arr = [1,2]
arr.unshift(3)
console.log(arr) // 返回3

array.shift()

定义:删除数组的第一个元素
语法:

array.shift() //无参数
  • 无参数

返回值:返回删除元素
实例

var arr = [1,2,3]
var str = arr.shift()
console.log(str) //返回1

array.join()

定义:将数组通过连接符连接成一个字符串
语法:

array.join('链接符') //这个连接符啥都可以是

返回值:返回一个新的字符串

实例

var arr = ['apple','banner']
console.log(arr.join('and'))

结果

'appleandbanner'

array.reverse()

定义:反转数组中元素的顺序
语法:

array.reverse()  //无参数
  • 无参数

返回值:反转后的数组
实例

var arr = ['hello',200,true,[1,2,3],null]
console.log(arr.reverse()) 

结果

['null',[1,2,3],true,200,'hello'] //相反

array.sort()

定义:可以对数组的元素按照字母或者数字进行升序或降序重新排列,默认是升序排列
注意:
● sort默认是升序
● sort默认是按照unicode编码排序
语法:

array.sort()

参数:
function(a,b){return a - b}
sort()方法比较两个值时,将值发送给比较函数,根据返回的(负、零、正)值对值进行排序。

返回值:新数组
实例1

var arr = [2,,'a',5,0,'6',3,'7','t',1,]
console.log(arr.sort(
            arr.sort((a,b)=>{
            return a > b
        } 
        ))//升序排列

array.indexOf()

定义 :在数组中查询指定元素。
注意:indexOf()只会返回第一次出现的位置
语法:

array.indexOf('x')

返回值:返回它的位置,未找到返回-1
实例

var arr = [1,2,3,4]
console.log(arr.indexOf(2))
//返回值为1
console.log(arr.indexOf(9))
//返回值为-1

array.concat()

定义:用于链接两个或者多个数组
语法:

arr.concat(arr1,arr2,...,arrx)

返回值:返回一个新数组,不会修改原有数组
实例

var arr1= ["S60", "S90"];
var arr2 = ["XC40", "XC60", "XC90"];
var Volvo = arr1.concat(arr2);

array.slice()

定义:截取选取的部分数组形成一个新的数组
语法:

arr.slice(start,end)

注释:start为开始会获取,end为结束,不会获取
返回值:返回一个新的数组,不会改变原有数组
实例

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1, 3);
//citrus = ['Orange','Lemon']

array.forEach()

  • array:数组
  • for:为了......
  • Each:每一个

定义:方法按顺序为数组中的每个元素调用一次函数

语法:

array.forEach(function(currentValue, index, arr), thisValue)
  • function:是一个函数
    • 当执行forEach()方法的时候,每个数组元素都会调用一次函数参数
    • 在调用函数的时候,可以传入以下参数:
      • currentValue:数组中的每一个元素
      • index:表示数组的索引
      • arr:表示当前数组
  • thisValue:设置this指向

返回值:undefined

实例:

var arr = [1,2,3]

arr.forEach(function(x,index,arr){
            arr[index] = x+3
        })
console.log(arr)//返回[4,5,6]

array.map()

定义:方法按顺序为数组中的每个元素调用一次函数

语法:

array.map(function(currentValue, index, arr), thisValue)
  • function:是一个函数
    • 当执行map()方法的时候,每个数组元素都会调用一次函数参数
    • 在调用函数的时候,可以传入以下参数:
      • currentValue:数组中的每一个元素
      • index:表示数组的索引
      • arr:表示当前数组
  • thisValue:设置this指向

返回值:数组

实例:

var arr = [1,2,3]

console.log(arr.map(function(x,index,arr){
        return   arr[index] = x+3
        }))//返回[4,5,6]

array.filter()

定义:方法创建数组,且按顺序为数组中的每个元素调用一次函数

语法:

array.filter(function(currentValue, index, arr), thisValue)
  • function:是一个函数
    • 当执行filter()方法的时候,每个数组元素都会调用一次函数参数
    • 在调用函数的时候,可以传入以下参数:
      • currentValue:数组中的每一个元素
      • index:表示数组的索引
      • arr:表示当前数组
  • thisValue:设置this指向

返回值: 包含所有通过测试的数组元素的数组。如果没有元素通过测试,则返回一个空数组。

实例:

var arr = [1,2,3]

console.log(arr.filter(function(x,index,arr){
        return   x > 2
        }))//返回[3]

array.every()

定义:检测数组中的所有元素是否通过测试

语法:

array.every(function(currentValue, index, arr), thisValue)
  • function:是一个函数
    • 当执行every()方法的时候,每个数组元素都会调用一次函数参数
    • 在调用函数的时候,可以传入以下参数:
      • currentValue:数组中的每一个元素
      • index:表示数组的索引
      • arr:表示当前数组
  • thisValue:设置this指向

返回值: true 或者 false

实例:

var arr = [1,2,3]

console.log(arr.every(function(x,index,arr){
        return   x > 2
        }))//返回false

array.find()

定义:为数组内每个元素进行一次函数

语法:

array.find(function(currentValue, index, arr), thisValue)
  • function:是一个函数
    • 当执行find()方法的时候,每个数组元素都会调用一次函数参数
    • 在调用函数的时候,可以传入以下参数:
      • currentValue:数组中的每一个元素
      • index:表示数组的索引
      • arr:表示当前数组
  • thisValue:设置this指向

返回值:返回数组中通过第一次测试的元素,没有就返回undefined

实例:

var arr = [1,2,3]

console.log(arr.find(function(x,index,arr){
        return   x >= 2
        }))//返回[2]

array.findIndex()

定义:按顺序为数组中的每个元素调用一次函数

语法:

array.findIndex(function(currentValue, index, arr), thisValue)
  • function:是一个函数
    • 当执行findIndex()方法的时候,每个数组元素都会调用一次函数参数
    • 在调用函数的时候,可以传入以下参数:
      • currentValue:数组中的每一个元素
      • index:表示数组的索引
      • arr:表示当前数组
  • thisValue:设置this指向

返回值: 返回数组中第一次通过测试的元素的索引。没有返回-1

实例:

var arr = [1,2,3]

console.log(arr.findIndex(function(x,index,arr){
        return  x > 2
        }))//返回2

array.reduce()

定义:从左到右,将数组中的值进行缩减到一个值

语法:

array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
  • 参数function(total, currentValue, currentIndex, arr) 必须
    • total 必须
    • currenValue 必须

返回值:返回相减之后得到的值

实例:

var numbers = [175, 50, 25];
console.log(numbers.reduce(function(a,b){
    return a - b
})
            //打印 100

array.some()

定义:检测数组中的一些元素是否通过测试

语法:

array.some(function(currentValue, index, arr), thisValue)
  • function:是一个函数
    • 当执行some()方法的时候,每个数组元素都会调用一次函数参数
    • 在调用函数的时候,可以传入以下参数:
      • currentValue:数组中的每一个元素
      • index:表示数组的索引
      • arr:表示当前数组
  • thisValue:设置this指向

返回值: true 或者 false

实例:

var arr = [1,2,3]

console.log(arr.some(function(x,index,arr){
        return   x > 2
        }))//返回 true

版权声明:
作者:cc
链接:https://www.techfm.club/p/44479.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>