资讯专栏INFORMATION COLUMN

js数组的各种方法

LittleLiByte / 2128人阅读

摘要:把数组的所有元素放入一个字符串。删除并返回数组的第一个元素从某个已有的数组返回选定的元素对数组的元素进行排序删除元素,并向数组添加新元素。返回该对象的源代码。把数组转换为本地数组,并返回结果。

首先由一个朋友提的问题开始

var a = [].push(233)
console.log(a)

结果是 1;一开始我也搞错了,以为返回的是新数组,然后去查了下资料,才没发现返回的是新数组的长度,也许这就是feature吧

那就来复习下数组的方法和细节吧

Array 对象方法
方法    描述
concat()    连接两个或更多的数组,并返回结果。
join()    把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop()    删除并返回数组的最后一个元素
push()    向数组的末尾添加一个或更多元素,并返回新的长度。
reverse()    颠倒数组中元素的顺序。
shift()    删除并返回数组的第一个元素
slice()    从某个已有的数组返回选定的元素
sort()    对数组的元素进行排序
splice()    删除元素,并向数组添加新元素。
toSource()    返回该对象的源代码。
toString()    把数组转换为字符串,并返回结果。
toLocaleString()    把数组转换为本地数组,并返回结果。
unshift()    向数组的开头添加一个或更多元素,并返回新的长度。
valueOf()    返回数组对象的原始值

注意

push和unshift都是返回新长度

pop和shift是返回的删除的那个元素

slice(start,end)方法并不会修改数组,而是返回一个子数组,start 到 end(不包括该元素)是开始和结束的角标,不包含结束的那个

splice会修改原数组,第二个参数是要删除的数量,后面的参数是要添加的元素

toLocaleString与toString的区别,

数组filter与find的区别,filter是找到所有符合要求的,find是找到第一个符合要求的,用他们找到元素但是拿不到下标,那就只能循环一次把下标当做属性设置进去;现在发现可以用findIndex来找指定属性的下标,还是多看看mozilla的array文档还有什么好用的方法吧

var array = [
    {
      "name": "aa",
      "bianma": "11"
    },
    {
      "name": "bb",
      "bianma": "12"
    }
 ]
array.findIndex(function(item){return item.name=="aa"})

参考:

JavaScript Array 对象
ES6 操作数组 方法 区别 map filter reduce find

JavaScript学习笔记:取数组中最大值和最小值

对于纯数字数组,可以使用JavaScript中的内置函数Math.max()和Math.min()方法。著作权归作者所有。

最简洁的方法是 基于ES2015的方法来实现此功能,使用展开运算符

var numbers = [1, 2, 3, 4]; 
Math.max(...numbers) // 4 
Math.min(...numbers) // 

再就是

Array.prototype.max = function () { return Math.max.apply({},this); }
Array.prototype.min = function () { return Math.min.apply({},this); } 
var arr = [1,45,23,3,6,2,7,234,56]; 
arr.max(); // 234 
arr.min(); // 1

循环删除数组元素的几种姿势

用的是for循环和splice之后i--实现;我就用IIFE来防止i污染全局,记得在(function(){})()前面加;、~、!等

js把1-100的数存入数组

最短的应该是这个了 Array.from(new Array(100).keys())

Array.from() 方法从一个类似数组或可迭代对象中创建一个新的数组实例。

阮一峰--数组

扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列

注意,扩展运算符如果放在括号中,JavaScript 引擎就会认为这是函数调用,否则就会报错。

(...[1,2])
// Uncaught SyntaxError: Unexpected number

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/102463.html

相关文章

  • 基于JS快速生成各种网格布局工具Grid介绍

    摘要:看了几篇博客,了解了它的几个常用属性后,可以快速生成一个网格布局。同样是出于使用动态生成布局的需要,诞生了这个小工具。 作者:云荒杯倾 写在前面 这两天了解了一下css的grid布局,发现确实很好用。看了几篇博客,了解了它的几个常用属性后,可以快速生成一个网格布局。相较于传统的float、定位等显得更成体系,更规范,不需要一些hack做法。 虽然grid布局已经很好,前端工程师中有一些...

    scwang90 评论0 收藏0
  • 基于JS快速生成各种网格布局工具Grid介绍

    摘要:看了几篇博客,了解了它的几个常用属性后,可以快速生成一个网格布局。同样是出于使用动态生成布局的需要,诞生了这个小工具。 作者:云荒杯倾 写在前面 这两天了解了一下css的grid布局,发现确实很好用。看了几篇博客,了解了它的几个常用属性后,可以快速生成一个网格布局。相较于传统的float、定位等显得更成体系,更规范,不需要一些hack做法。 虽然grid布局已经很好,前端工程师中有一些...

    waltr 评论0 收藏0
  • task0002(一)- JavaScript数据类型及语言基础

    摘要:不过让流行起来的原因应该是是目前所有主流浏览器上唯一支持的脚本语言。经过测试,数字字符串布尔日期可以直接赋值,修改不会产生影响。再考虑对象类型为或者的情况。对于结果声明其类型。判断对象的类型是还是,结果类型更改。 转载自我的个人博客 欢迎大家批评指正 1. 第一个页面交互 这里最需要学习的老师的代码中,每一部分功能都由函数控制,没有创建一个全部变量。且最后有一个函数来控制执行代码...

    elarity 评论0 收藏0
  • js数组去重方法分析与总结

    摘要:阶段该阶段主要通过循环遍历数组从而达到去重的目的多次循环去掉重复元素以下所有方法默认都那拿该数组进行测试结果如下图可见除了没有去掉,其他效果都还挺好。 数组去重经常被人拿来说事,虽然在工作中不常用,但他能够很好的考察js基础知识掌握的深度和广度,下面从js的不同阶段总结一下去重的方法。 ES3阶段 该阶段主要通过循环遍历数组从而达到去重的目的 多次循环去掉重复元素 // 以下所有方法默...

    nevermind 评论0 收藏0
  • js进阶 - 收藏集 - 掘金

    摘要:很多人可能误认为资源跨域时无法请求,实质上请求是可以正常发起的指通常情况下,部分浏览器存在部分特例,后端也可能正常进行了处理,中文指南调试技巧指南前端掘金作者缉熙简介是推出的一个天挑战。 深入 JavaScript,从对象开始 - 前端 - 掘金入坑前端开发有一段时间了,面对形形色色的JavaScript优秀框架,到底该选择那一款呢?最近在使用Vue.js写一款markdown编辑器插...

    qqlcbb 评论0 收藏0

发表评论

0条评论

LittleLiByte

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<