JavaScript Array 的学习
首先创建数组
var empty = [];//创建一个空的数组;
var diffType = [1,'a',2.3,{},[4,5],,];//创建一个包含不同类型的数组
var undef = [,,]//创建一个空元素数组,注意这里数组的长度是2,不是3.JavaScript数组允许最后多一个逗号。但是在IE678长度是3.
var instance = new Array();//当然也可以用Array类创建一个数组,效果和[]一样。
读写数组元素
var b = [1,null,2,,3,undefined,6];//定义一个数组
b[0];//读数组的第一个元素
b[0] = 100;//写数组的第一个元素,数组的下标可以是一个表达式
b[12.34] = 1234;//数组的下标可以不是一个整形数字,此时会将12.34作为一个属性名称,为b定义一个属性
b["12"] = 12;//当数组的下标是一个可以直接转化成整形数字的字符串时,就像当于写b[12] = 12,数组的length就成13了
b["13.00"] = 13;//当不能直接转化成正整数时,依然作为属性名处理
b[14.00] = 14;//可以直接转化成正整数,就相当于b[14] = 14,此时b.length = 15;
var x = [,,,];//在IE9,10长度为3,IE8极更早的版本长度为4
var y = new Array(3);//注意:数组x, y 是有区别的。x,y都表示定义了一个长度为3的数组,但是x的三个元素值都为undefined,y的三个元素都没有值。但是表现是一样的。
console.log(0 in x);//false
console.log(0 in y);//false
数组的一些方法
push(p1,p2,...)在数组的末端添加元素,可以一次添加多个
pop()移除并返回最后一个数组元素
delete()将数组中的制定元素置为undefined,并不影响length属性。
join(p)将数组转化为字符串,用p分割。注意该方法会将递归内嵌的数组元素,一次调用toString()方法。
var a = [1,null,[10,12,[23,25]],2,,3,undefined,6];
console.log(a);//[1, null, Array[3], 2, , 3, undefined, 6]
console.log(a.join());//"1,,10,12,23,25,2,,3,,6"
4 console.log(a.join(", "));//"1, , 10,12,23,25, 2, , 3, , 6"
reverse()反转数组
sort(f(a,b))如果没有参数,就按照字符顺序排序。undefined元素会排在最后。f是一个函数,用于定义排序规则。f返回值<=0,a在b前,否则b在a前。
concat()返回组合后的数组,但是并不改变原有数组。调用方法如下
var b = [1,2,3];
console.log(b.concat(100,101));//[1, 2, 3, 100, 101]
console.log(b.concat([100,101]));//[1, 2, 3, 100, 101]
console.log(b.concat([100,101],[102,103]));//[1, 2, 3, 100, 101, 102, 103]
console.log(b.concat([100,101,[103,104]]));//[1, 2, 3, 100, 101, Array[2]]。并不会改变数组内的数组
slice(startIndex [,endIndex])返回指定区间(左闭右开)的元素。
var b = [1,2,3,4,5];
console.log(b.slice(0,3));//[1, 2, 3]
console.log(b.slice(3));//[4, 5]
console.log(b.slice(7));//[]
console.log(b.slice(-3,-2));//[3]
splice(startIndex [,lenth,p1,p2,p3,...]返回被截取的元素,原来的数组将被改变。
var c = [1,2,3,4,5,6,7,8];
console.log(c.splice(4));//[5, 6, 7, 8]
console.log(c.toString());//[1, 2, 3, 4]
console.log(c.splice(3,1,5,6,7,8));//[4]
console.log(c);//[1, 2, 3, 5, 6, 7, 8]
shift()删除数组的第一个元素。
unshift(p1,p2,...)将参数添加在数组的开头。
toString()将数组中的每一个元素调用toString方法。
JavaScript Array 的学习的更多相关文章
- javascript Array Methods(学习笔记)
ECMAScript 5 定义了9个新的数组方法,分别为: 1.forEach(); 2.map(); 3.filter(); 4.every(); 5.some(); 6.reduce() ...
- javascript Array 方法学习
原生对象Array学习 Array.from() 从类似数组的对象或可迭代的对象返回一个数组 参数列表 arraylike 类似数组的对象或者可以迭代的对象 mapfn(可选) 对对象遍历映 ...
- Javascript提升阶段学习
JavaScript1:javascript简介 JavaScript是一种脚本语言,能实现网页内容的交互显示,当用户在客户端显示该网页时,浏览器就会执行JavaScript程序,用户通过交互的操作来 ...
- javascript的ES6学习总结(第二部分)
1.数组循环 介绍数组循环之前,先回顾一下ES5数组的循环 (1)数组遍历(代替普通的for):arr.forEach(callback(val,index,arr){todo}) //val是数组的 ...
- javascript的ES6学习总结(第一部分)
ES6(ESNext学习总结——第一部分) ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版. ECMA每年6月份,发布一个版本 201 ...
- 【学习笔记】JavaScript的基础学习
[学习笔记]JavaScript的基础学习 一 变量 1 变量命名规则 Camel 标记法 首字母是小写的,接下来的字母都以大写字符开头.例如: var myTestValue = 0, mySeco ...
- javascript的ES6学习总结(第三部分)
1.ES6中的面向对象的类 1.1.定义类 在ES5中,我们写一个类,通常是这么写的 function Person(name,age){ this.name = name; this.age = a ...
- 7 种 Javascript 常用设计模式学习笔记
7 种 Javascript 常用设计模式学习笔记 由于 JS 或者前端的场景限制,并不是 23 种设计模式都常用. 有的是没有使用场景,有的模式使用场景非常少,所以只是列举 7 个常见的模式 本文的 ...
- JavaScript 权威指南-学习笔记(一)
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! ## JavaScript 权威指南-学 ...
随机推荐
- [luoguP1773] 符文之语_NOI导刊2010提高(02)(DP)
传送门 f[i][j]表示前i个数余数为j的最优解 sum[i][j]表示字符串i~j所构成的数 #include <cstdio> #include <cstring> #d ...
- 《effective C++》:条款07——为多态基类声明virtual析构函数
在继承中,基类的析构函数需要定义为虚析构函数数否则: (1)当派生类对象经由一个base类指针删除时,而这个base类的析构函数不是虚函数时,其结果是未定义的. (2)这样做会导致derived类部分 ...
- Arduino学习笔记0---开发板的了解
Arduino的入门文档https://wenku.baidu.com/view/4040861d58fafab069dc02d4.html?from=search,共61页的文档,看完就差不多可以入 ...
- poj3905 2sat!
这次已经不是2sat的问题了,相信2sat已经不是问题了,最后一题2sat,竟然跪在输入上! 千万注意scanf(%c)!读入!!!!有空格也读啊!!!读入+ -一定要用字符读啊??笨死算了!被人水死 ...
- sgu179 SGU起航!
//发现dfs除了搜索功能外的其他功能,他本身是一种序列,这个题恰是"先序"的下一个(合法范围内)序列! #include<iostream> #include< ...
- iOS 用cornerstone 创建分支
第一步:在cornerstone中添加服务器上的代码路径,如下: 第二步:选中服务器路径下的代码,选择“分支”按钮 第三步:开始创建分支 第四步:效果图如下 第五步:选择分支下的路径下载代码并进行修改 ...
- 从零开始写STL-string类型
class string { public: typedef size_t size_type; typedef char* iterator; typedef char value_type; pr ...
- HDU 1024 Max Sum Plus Plus【DP,最大m子段和】
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1024 题意: 给定序列,给定m,求m个子段的最大和. 分析: 设dp[i][j]为以第j个元素结尾的 ...
- THUPC2018看题总结
THUPC2018看题总结 #6387. 「THUPC2018」绿绿与串串 / String 据说是签到题啊. 首先根据题目的意思,我们发现如果能找到那个最后一次选择的对称轴岂不是美滋滋. 自然地,我 ...
- mybatis <!-- useGeneratedKeys="true"把新增加的主键赋值到自己定义的keyProperty(id)中 -->
<!-- useGeneratedKeys="true"把新增加的主键赋值到自己定义的keyProperty(id)中 -->