js function 返回值_JS数组

5个false值

0 NaN '' undefined null

Array

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array​developer.mozilla.org
b5cccdc03e2d2fa2316e40f6942e73e1.png

Array

Array​developer.mozilla.org
b5cccdc03e2d2fa2316e40f6942e73e1.png

1、var a=Array(3):生成一个length:3的数组。

cce80c82f073aca809c7f4bc7887ba8e.png

2、var a=Array(3,3):这里生成的是如下图:

5f289a0a9f0650eccf043d631971b508.png

基本的数据结构前面加上new,返回的是一个对象。不加new,返回的还是基本类型。

object,function,array前面不加new返回的是一个对象,加上一个new.返回的还是对象。

06837f60bf618177d2946d8b53b3663f.png

数组到底是什么?

97bc45268ee5667feba8abc72bf35319.png

如上图,数组和对象最大的不同在于,是他们的原型不一样,数组的原型是Array.prototype.

那对象的原型则是Object.prototype.

数组的API

a.forEach( function(x,y){

})

非常简单,首先先理解下图的式子。

d6df9f5f276286e0d6d6542310b7154b.png

上图的意思是说,一个函数它接收并执行y函数,同时又给他传入了一个参数666。

fdb995b93959673a80359b2a68c22d4c.png

回到上图forEach函数,通过上面的知识我们了解到此函数是传过去两个参数并执行另一个函数,这里有个最重要的问题是传的两个参数到底是什么?答案就是上图数组【a,b,c】的valuekey.传的是这两个参数!

所以下图这个含义很好解释forEach了,这里的意思就是首先遍历数组a,然后得到第一组value,key,当做两个参数传给里面的函数执行一次,然后得到第二组,第三组。。。。一次传进去参数并执行函数。

bc55ea0901f881cf7337e38e7918719a.png

sort进行排序:

9a40778bc74d358a92cee1672df688f4.png

用sort排序:

ef0eebb299cd75fbbdcee5491b52957d.png

join

222a1e292b8563c6ba2825d87953ef22.png

concat

799bafb2b33bf8e78eaa5906e91ec7eb.png

map

a.forEach没有返回值。

a.map有返回值。map会把最后操作的结果收集起来,形成一个新的数组。

filter

3060edfeafcf94dd354a872304102aac.png

d66ba0d7337dbcc44ec515fe389d2566.png

reduce

f26f290ee0d6694fa90f3a52aeab0fbd.png

Tips

var students = ['小明','小红','小花'] var scores = { 小明: 59, 小红: 99, 小花: 80 } students.sort(???)请填写 ??? 使得 students 按分数的高低从大到小排列.

答案:function(x,y){ return scores[y]-scores[x]}

var a = [1,2,3,4,5,6,7,8,9]
a.reduce(???,???),计算所有奇数的和。

答案:a.reduce(function(arr,n){

if(n%2!===0){

arr.push(n)}

return arr},[ ]).reduce(function(sum,n){

return sum+n},0)

var a = [1,2,3,4,5,6,7,8,9]
a.filter(???).map(???) // [4,16,36,64]

  1. 获取所有偶数
  2. 得到所有偶数的平方

答案:

a.filter(function(value,key){

return value%2 === 0

})

.map(function(value,key){

return value*value

})

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值