【学习】js学习笔记---数组对象
一、属性
length
数组的大小。数组的length属性总是比数组中定义的最后一个元素的下标大一,设置属性length的值可以改变数组的大小。如果设置的值比它的当前值小,数组将被截断,其尾部的元素将丢失。如果设置的值比它的当前值大,数组将增大,新元素被添加到数组尾部,它们的值为undefined。
二、方法
A、添加删除类
1、Array.push( )
给数组添加元素。添加到array尾部的值,可以是一个或多个。
返回值是数组的新长度。
示例代码:
var a=["a","b","c",1,2,3];
alert(a.push("d","e"));
alert(a);
2、Array.unshift( )
在数组头部插入一个元素。添加到array头部的值,可以是一个或多个。
返回值是数组的新长度。
示例代码:
var a=["a","b","c",1,2,3];
alert(a.unshift("d","e"));
alert(a);
3、Array.pop( )
删除并返回数组的最后一个元素。
如果数组已经为空,则pop()不改变数组,返回undefined。
示例代码:
var a=["a","b","c",1,2,3];
alert(a.pop());
alert(a);
4、Array.shift( )
把array的第—个元素移出数组,返回那个元素的值。
如果数组是空的,shift()将不进行任何操作,返回undefined。
示例代码:
var a=["a","b","c",1,2,3];
alert(a.shift());
alert(a);
5、万能添加删除的函数Array.splice( )
语法:array.splice(start, deleteCount, value, ...)
splice()将删除从start开始(包括start所指的元素在内)的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
参数:
start :开始插入和(或)删除的数组元素的下标。
deleteCount :从start开始,包括start所指的元素在内要删除的元素个数。这个参数是可选的,如果没有指定它,splice()将删除从start开始到原数组结尾的所有元素。
value, ... :要插人数组的零个或多个值,从start所指的下标处开始插入。
示例代码:
var a=["a","b","c",1,2,3];
alert(a.splice(1,2,"d","e"));
alert(a);
B、数组的转换
Array.join( )
方法join()将把每个数组元素转换成一个字符串,然后把这些字符串连接起来,在两个元素之间插入指定的separator字符串。返回生成的字符串。
如果省略了separator参数,用逗号作为分隔符。
示例代码:
var a=["a","b","c",1,2,3];
alert(a.join());
alert(a.join("-"));
C、数组的分割
array.slice(start, end)
slice()将返回数组的一部分,或者说是一个子数组。返回的数组包含从start 开始到end之间的所有元素,但是不包括end所指的元素。如果没有指定end,返回的数组包含从start开始到原数组结尾的所有元素。
start是数组片段开始处的数组下标。如果是负数,它声明从数组尾部开始算起的位置。 也就是说,-1指最后一个元素,-2指倒数第二个元素,以此类推。
返回的是一个新数组。
示例代码:
var a=["a","b","c",1,2,3];
alert(a.slice(2,4));
alert(a.slice(2));
alert(a.slice(-2,-1));
D、排序
Array.sort( )
对数组元素进行排序。
如果调用方法sort()时没有使用参数,将按字母顺序(更为精确地说,是按照字符编码的顺序)对数组中的元素进行排序。
如果想按照别的顺序进行排序,就必须提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数a和b。
示例代码1:
var a=["a","f","bbs","e","b","c"];
a.sort();
alert(a);
示例代码2:
var b=[34,845,2,7676,11];
b.sort();
alert(b);
示例代码3:
var b=[34,845,2,7676,11];
b.sort(function(a,b){
return a-b;
});
alert(b);
E、数组的连接
Array.concat( )
连接两个或更多的数组或新的元素,并返回新数组。
对原数组没有影响。
示例代码:
var a=[1,2,3];
var b=["a","b","c"];
var c=["哈哈","www"];
alert(a.concat(b,c));
alert(a);
alert(b.concat("d","e"));
【学习】js学习笔记---数组对象的更多相关文章
- js变量作为数组对象的键值方法
js变量作为数组对象的键值方法,变量键值获取数组值 js也可以像php的数组一样用下标获取数组的值,方法是: var arr = {'key':'abc'}; var key = 'key'; con ...
- Numpy学习一:ndarray数组对象
NumPy是Python的一个高性能科学计算和数据分析基础库,提供了功能强大的多维数组对象ndarray.jupyter notebook快速执行代码的快捷键:鼠标点击选中要指定的代码框,Shift ...
- 浅谈js的类数组对象arguments
类数组对象:arguments总所周知,js是一门相当灵活的语言.当我们在js中在调用一个函数的时候,我们经常会给这个函数传递一些参数,js把传入到这个函数的全部参数存储在一个叫做arguments的 ...
- js中的数组对象排序(方法sort()详细介绍)
定义和用法 sort() 方法用于对数组的元素进行排序. 语法 arrayObject.sort(sortby) 参数sortby:可选.规定排序顺序.必须是函数. 返回值 对数组的引用.请注意 ...
- js中的数组对象排序
一.普通数组排序 js中用方法sort()为数组排序.sort()方法有一个可选参数,是用来确定元素顺序的函数.如果这个参数被省略,那么数组中的元素将按照ASCII字符顺序进行排序.如: var ar ...
- js- 类数组对象
JavaScript中,数组是一个特殊的对象,其property名为正整数,且其length属性会随着数组成员的增减而发生变化,同时又从Array构造函数中继承了一些用于进行数组操作的方法. 而对于一 ...
- js两个数组对象通过相同元素匹配筛选
let a = [ { name: 'joy', year: '24' }, { name: 'eve', year: '25' } ] let b = [ { name: 'joy', city: ...
- js 两个数组对象根据账号比较去重,解决直接splice后数组索引改变
目的获取Arr2中不包含在arr1中的对象 根据Account进行比较,如果相等则删除tempArr数组对象. 结果返回张三 var arr1=[{"account":" ...
- 分享个人学习js的笔记
1.回到顶部效果. 2.滚动条向上滚动式,滑动滚轮.解决bug的方法. 3.有关Document. 4.getElementByClassName();获取元素类名的封装.单个类名的元素.任然不完美. ...
随机推荐
- 结对编程-四则运算生成程序-GUI界面
201421123118 张中结 201421123098 胡丹丹 a.需求分析 这个程序做成GUI(可以是Windows PC 上的,也可以是Mac.Linux,web,手机上的),成为一个有基本功 ...
- 团队作业1 团队展示&选题
团队展示&选题 Coding项目地址:https://git.coding.net/wjunren/running.git 一.团队展示 1.队名:Runing Guys 2.队员: 组长:骆 ...
- 201521123082 《Java程序设计》第7周学习总结
201521123082 <Java程序设计>第7周学习总结 标签(空格分隔): Java 1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 2. 书面作业 1. ...
- 团队作业4——第一次项目冲刺(Alpha版本)2017.4.25
在下午的1,2节软件课程结束后,我们teamworkers全体队员在禹州楼302利用课间时间进行约15分钟的短暂会议,会议的内容为阐述昨天开发遇到的问题,大家都提出自己的看法,最后统一了意见,队员互相 ...
- 【Alpha阶段】第四次scrum meeting
一.会议照片 二.会议内容 姓名 学号 负责模块 昨日任务完成度 今日任务 杨爱清 099 界面设计和交互功能 完成 百度合适的背景图片 杨立鑫 100 数据库搭建和其他 完成 开始编辑数据库 林 钊 ...
- sudoku--SE第二次作业
git传送门 编译环境: windows10.vs2017 所用语言: c++ 首先作为一个晚上闭眼的玩家,我先来讲一下我的心路历程: 最开始接到作业的时候心里是拒绝的,刚出了一趟小远门就这样,就很难 ...
- 201521123069 《Java程序设计》 第14周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自 ...
- 201521123034《Java程序设计》第十一周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 多线程的冲突 互斥共享(有时两个或两个以上的线程需要同时对 而线程之间如果不加以控制,会产生一种情况-竞争) sy ...
- 201521123071 《JAVA程序设计》第十周学习总结
第十周-异常与多线程 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业:本次PTA作业题集异常.多线程 1. finally:题目4-2 1. ...
- 201521123023《Java程序设计》第12周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. (1)File可以表示一个特定文件的名称,也能表示一个目录下的一组文件的名称. (2)继承自InputStre ...