JavaScript数组方法简单用法

Array:分为两类来列举

(改变原数组):

1)array.fill(参数a,begin,end),用a填充array全部元素(不写begin和end时),或者填充指定开始begin位置或指定结束end位置。

2)array.pop(),移除数组的最后一个元素,并将该元素作为返回值。

3)array.shift(),删除数组的第一个元素,并将该元素作为返回值。

4)array.push(),向数组的最后位置添加一个元素,返回数组的新长度。

5)array.unshift(),向数组的第一个位置添加一个元素,返回数组的长度。

6)array.reverse(),将数组反转。

7)array.sort(),排序数组,按ascii码排序,对于number也是直接比较ascii码的。

8)array.sort(compareFunction),compareFunction接受两个参数a,b。函数返回负值时,认为,则最后的结果中a会在b的前面,正就反之,0保持此前后。所以升序则return a-b,降序则return b-a。

const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
var res = points;

则
res = [1,5,10,25,40,100]

不改变原数组:

重要例子,其他基本都差不多的

var ages = [32, 33, 16, 40];

function checkAdult(age) {
  return age >= 18;
}

resultArray = ages.filter(checkAdult);
或者 箭头函数写法
resultArray = ages.filter((item) => {return item>18});
resultArray = ages.filter(item => item>18 );//缩写

有一些都是重复的句子,故用T Z1 Z2代替一些句子

1)a.concat(b),连接a和b数组,返回一个数组c。

2)array.every(functionName或者箭头函数 as T),简单应用时函数接收一个参数,返回该参数是否通过测试(return boolean)。所有都通过,every返回true,反之false。不对没有值的array执行函数 as Z2详细用法array.every(function(currentValue, index, arr), thisValue) as Z1。thisValue一般不传时,function里的this是window,当然可以传一个,其会作为function里面的this。

3)array.entries(),返回一个带有键值对的对象,可以用for x of object来遍历,x是数组(键、值构成的)。

4)array.filter(T),函数接收一个参数,返回通过条件的参数(return boolean),通过的返回true。最后filter得到一个过滤后的数组。如下图。Z2 Z1

5)array.find(T)。最后返回第一个通过函数测试的array元素。Z2 Z1

6)array.findIndex(T)。最后返回第一个通个函数测试的array元素的下标索引。Z2 Z1

7)array.forEach(T)。遍历一遍array为每一个元素调用一遍函数,可以在函数里面做处理,函数不用返回值。Z2 Z1

8)Array.from('具有length属性或可迭代对象的如何对象返回Array对象'),返回一个数组。

9)array.includes(某一值),如果array里存在该值返回true,反之为false。详细用法:array.includes(element, start)。

10)array.indexOf(某一值),存在返回第一次出现的索引,不存在则返回-1.详细用法:array.indexOf(item, start)。从末开始,用lastIndexOf

11)Array.isArray(obj),检查array是不是数组,是true,不是false。

12)array.join(separator),将元素用separator分隔连接起来作为字符串返回,默认用逗号分隔。

13)array.map(T),T可以是类似Math.sqrt这些函数。为每个数组中的元素调用一次T函数,用每一个结果创建一个数组,最后返回该数组。Z2 Z1

14)array.reduce(function(total, currentValue, currentIndex, arr), initialValue),将initialValue作为total的初始值,如果不传入的话就将数组的第一个元素作为初始值(且跳过为第一个元素执行function);从左到右为每一个元素调用function,元素其作为currentValue传入,每一次的返回值作为下一次的total。将最后得到的total作为最后的返回结果。

15)array.reduceRight(),同上,只不过从右到左。

16)array.slice(begin,end),参数可选,传一个参数则作为begin,最后返回一个范围在[begin,end)左闭右开的新数组。

17)array.some(),类似every,只不过存在满足条件即为真。

18)array.splice(index, howmany, item1, ....., itemX),index必须,howmany可选(如果不用删则填0),howmany是删除多少个。后面的参数时从index依次插入,后面未被删除的依次向后退。

19)array.toString(),无参数,将元素用逗号隔开合成一个字符串返回。

20)array.valueOf(),返回array的引用。=== array,为true。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值