day06 数组

1,总结与数组有关的API函数功能表

函数的名称功能传参返回值执行环境对象
队列
Array.prototype.shift在头部删除一个Arr[0]
unshift在头部新增任意元素新增itemsNewarr.length
Push在尾部新增任意元素新增itemsNewarr.length
pop在尾部删除一个元素Arr[length-1]

数组中的操作

splice

删除、新增、插入、替换至少是两个index_start,count,新增的数据s删除的数据项
判断
Array.isArray判断当前变量是否是数组类型(兼容性好)当前变量Booolean不会
排序
sort()

默认排序,升序

ASCLL

newarr
Reverse()反转数组的顺序数据项newarr
sort(fcname)排序:自定义排序

函数作为参数

Return v1-v2>0是升序sort

Fcname(v1,v2)

v1在前面,v2在后面  return 负数

v1在后面,v2在前面  return 正数

两个值相等  return  0

newarr
拼接concat数组的一层拼接任意数据类型  多个拼接后的新数组不受影响
截取slice截取数组一部分[index_Start,end]截取的数组不受

查找indexOf

lastIndexOf

查找数据项在数组中的索引下标数据项,起始索引下标=0

存在-索引下标

不存在  -1

不受
迭代
every对每一个数据项执行函数,都满足要求返回true,否则返回false

函数作为参数

Fcname(value,index,arr){

Return bool}

boolean不受
some对每一个数据项执行函数,有一个满足要求的就返回true,所有的都不满足要求返回false

函数作为参数

Fcname(value,index,arr){

Return bool}

boolean不受
filter

过滤:

对每一个数据项执行函数,满足要求的数据项存起来,不满足要求的就不要

函数作为参数

Fcname(value,index,arr){

Return bool}

满足要求的数据项组成的数组不受
map一一映射:对每一个数据项执行函数的结果进行保存

函数作为参数

Fcname(value,index,arr){

Return xxx}

映射之后的数组个数相同不受
forEach迭代循环

函数作为参数

Fcname(value,index,arr){

没有返回值

}

没有返回值不受

2.如何实现数组升序排列?例如:var arr = [8, 19, 3, 12, 5, 4]

方法一:冒泡排序

冒泡排序原理:从左到右,将相邻元素进行比较,每比较一轮,就会找到序列中最大的一个或最小的一个。

方法二:用sort方法排序

Sort:是对容器或普通数组中[first,last]范围内的元素进行排序,默认进行升序排序。

3,怎么用函数实现输出数组最大差值?

例如:找出下列正数组的最大差值 [10,5,11,7,8,9]  输出6

 

5.数组相的算法有哪些?请详细介绍熟知的四种算法原理,并用JavaScript语言实现这四个算法对应的排序过程。https://www.jianshu.com/p/5c894e8b1f88

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值