【js笔记】数组那些事[0]
js中数组是一个特殊的对象,索引是它的属性,整数索引在内部被转化为字符串类型。
1 数组的创建
new关键字方法:var arr=new Array()
var arr=new Array(10);
console.log(arr.length); // var arr=new Array(1,2,3);
console.log(arr.length); //
字面量方法:var arr=[]
var arr=[];
console.log(arr.length); // var arr=[1,2,3];
推荐使用字面量方法创建数组。
2 属性
长度属性 length
3 方法
3.1 对元素的添加删除
push():在数组末尾添加一个元素。返回值为新数组长度。
var arr=[1,2,3];
arr.push(4);
console.log(arr); // [1,2,3,4]
pop(): 删除数组末尾元素并将其返回。
var arr=[1,2,3];
arr.pop();
console.log(arr); //[1,2]
unshift():在数组开头添加元素。返回值为新数组长度。
var arr=[1,2,3];
arr.unshift(0);
console.log(arr); // [0,1,2,3]
shift():删除数组的第一个元素并将其返回。
var arr=[0,1,2,3];
arr.shift();
console.log(arr); //[1,2,3]
splice():
splice(start,len,i1,i2...):将i1,12...插入从start开始的len个元素的位置。
var arr=[0,1,2,3];
arr.splice(1,2,0,0);
console.log(arr);// [0, 0, 0, 3]
var arr=[0,1,2,3];
arr.splice(1,2,0);
console.log(arr); // [0, 0, 3]
splice(start,len):从start开始删除len个元素。
var arr=[0,1,2,3];
arr.splice(1,2);
console.log(arr);// [0, 3]
concat():在数组后插入新元素构成新数组。
var arr=[0,1,2,3];
var newarr= arr.concat(1,2);
console.log(newarr);// [0, 1, 2, 3, 1, 2]
3.2 查找
indexof():
从数组开头开始查找参数元素,返回参数元素的索引,若元素不存在,返回-1。
lastindexof():
从数组最后一个元素开始查找。
3.3 转化为字符串
toString()
join()
3.4 排序
reverse():反序
sort(): 按字母表顺序为字符串排序。
var arr=['a',10,'c',3];
console.log(arr.sort());// [10, 3, "a", "c"]
sort()可接收一个函数作为参数执行函数中的排序方法。
函数接收两个参数,若返回值为正数,则在数组中交换这两个数的顺序,否则不交换。下面为两种用sort实现从小到大排序的方法:
function compare(a,b){
return a-b;
}
var arr=[1,20,3,10];
console.log(arr.sort(compare)); // [1, 3, 10, 20]
function compare(a,b){
if (a>b)
return 1;
if (a<b)
return -1;
}
var arr=[1,20,3,10];
console.log(arr.sort(compare)); //[1, 3, 10, 20]
3.5 迭代器
forEach()
对数组中每一个元素使用参数函数。
every()
参数函数返回值为布尔型,若对所有元素作用该函数返回值为true,则方法返回true。
some()
参数函数返回值为布尔型,若对有一个元素元素作用该函数返回值为true,则方法返回true。
reduce()
对累加值和后一元素调用参数函数,返回最终累加值。
reduceRight()
从右向左累加。
map()
对每个元素使用参数函数,返回结果所构成的数组。
filter()
要求参数函数返回值为布尔型,方法返回结果为true的元素所构成的数组。
4 判断数组
typeof作用于数组返回object
数组的constructor属性返回值为Array
【js笔记】数组那些事[0]的更多相关文章
- JS中数组那些事~
今天闲的没事,看了一些关于数组的操作,好久木有用过,很多都已经忘记的差不多了,所以今天花了一个小时写了一些demo,准备备份一下方便以后使用~~~ 下面是一些工作当中,经常用到的数组的方法,小伙伴可以 ...
- js 笔记 数组(对象)
一.javascript push 的元素为指针 var data = {"test":{"201308":"23","20130 ...
- js笔记-0
#js笔记-0 数组: indexOf方法: Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = [10, 20, '30', 'xyz']; arr.indexO ...
- js笔记(3)--js实现数组转置(两种方法)
js实现数组转置 第一种方法: <script> window.onload=function(){ var array1=[[11,22,33,333],[4 ...
- Js删除数组重复元素的多种方法
js对数组元素去重有很多种处理的方法,本篇文章中为网络资源整理,当然每个方法我都去实现了:写下来的目的是希望自己活学活用,下次遇到问题后方便解决. 第一种 function oSort(arr){ v ...
- js去除数组重复项
/** * js去除数组重复项 */ //方法一.使用正则法 // reg.test(str),匹配得到就返回true,匹配不到返回false var arr = ["345",& ...
- js 判断数组包含某值的方法 和 javascript数组扩展indexOf()方法
var questionId = []; var anSwerIdValue = []; ////javascript数组扩展indexOf()方法 Array.prototype.indexOf ...
- 探讨js字符串数组拼接的性能问题
这篇文章主要介绍了有关js对字符串数组进行拼接的性能问题,字符串连接一直是js中性能最低的操作之一,应该如何解决呢?请参看本文的介绍 我们知道,在js中,字符串连接是性能最低的操作之一. 例如: 复制 ...
- js之数组,对象,类数组对象
许久不写了,实在是不知道写点什么,正好最近有个同事问了个问题,关于数组,对象和类数组的,仔细说起来都是基础,其实都没什么好讲的,不过看到还是有很多朋友有些迷糊,这里就简单对于定义以及一下相同点,不同点 ...
随机推荐
- [ZJOI2012]小蓝的好友
https://www.luogu.org/problemnew/show/P2611 题解 \(n\times m\)肯定过不去.. 我们把给定的点看做障碍点,考虑先补集转化为求全空矩阵. 然后我们 ...
- Caffe计算net、layer向前向后传播时间
在caffe中计算某个model的整个net以及各个layer的向前向后传播时间,可以使用下面的命令格式: ./build/tools/caffe time --model=examples/mnis ...
- 学习换脸:Switching Eds: Face swapping with Python, dlib, and OpenCV
学习GitHub上比较火换脸博客,原英文版:https://matthewearl.github.io/2015/07/28/switching-eds-with-python/ 系统win10,x6 ...
- CodeForces - 348A Mafia (巧妙二分)
传送门: http://codeforces.com/problemset/problem/348/A A. Mafia time limit per test 2 seconds memory li ...
- Eclipse插件的卸载和安装
Eclipse 卸载插件: 右下角会有卸载进度 卸载完后 然后需要重启 Eclipse安装插件 选择本地下载好的插件 点击 Ok 插件下载地址:https://jaist.dl.sourceforge ...
- 微信开发----JS-SDK接口
2018.03.15:GitHub下载代码 208.3.6:更新:我们不再使用JosnHelp返回字典类或者强类型,而是直接返回动态类型,这样就会方便的多. JsonHelp更新详情:微信开发---- ...
- HTML5笔记——第一节
我的第一个网页 <!--html的基础模板--><!--html hyperText markup Language--><!--声明文档类型--><!DOC ...
- Sass 基础(八)
@import Sass 支持所有css 的@规则,以及一些Sass 专属的规则,也被称为“指令(directive)”.这些规则在Sass 中具有不同的 功效,详细解释如下. @import Sas ...
- 【SHOI2015】脑洞治疗仪(恶心的线段树,区间最大子段和)
题目描述: 曾经发明了自动刷题机的发明家 SHTSC 又公开了他的新发明:脑洞治疗仪——一种可以治疗他因为发明而日益增大的脑洞的神秘装置. 为了简单起见,我们将大脑视作一个 01 序列.11代表这个位 ...
- jdbc执行过程 jar包下载
工具和准备: MYSQL 8.0jar包: 链接:https://pan.baidu.com/s/1O3xuB0o1DxmprLPLEQpZxQ 提取码:grni 使用eclipse开发首先把jar包 ...