js 数组传统方法
js 数组传统方法
push()
功能:向数组的末尾添加一个或多个元素
var arr = [4];
arr.push(1,2,3); // [4,1,2,3]
返回: 会返回新数组的长度length
pop()
功能:删除数组的最后一个元素
var arr = [1,2,3,4];
arr.pop(); // [1,2,3]
返回:会返回被删除后的新数组
unshift()
功能:向数组的开头添加一个或者多个元素
var arr = [1,2,3,4];
arr.unshift(7); // [7,1,2,3,4]
返回:会返回新的数组长度length
shift
功能删除数组的第一个元素
var arr = [1,2,3,4];
arr.shift(); // [2,3,4]
返回:会返回被删除后的新数组
数组的遍历 :
function Person(name,age) {
this.name = name ;
this.age = age;
};
var per1 = new Person('a',12),
per2 = new Person('b',14),
per2 = new Person('c',11),
perArr = [per1,per2,per3];
function getAdult(arr){
var newArr = [];
for(var i=0;i<arr.length;i++) {
if(arr[i]['age']>12) {
newArr['push'](arr[i]);
}
}
return newArr;
};
slice()
功能:从数组中提取元素
参数:
1: 截取开始位置的索引
2: 截取结束位置的索引
第二个参数可以省略不写,表示从start开始的后边都被截取
( 包头不包尾 )
第二个 参数 还可以传入一个负值 表示 从后开始数
var result = array.slice(start,end);
var arr = [1,2,3,4];
var newArr = arr.splice(1,-1); //[2,3] -1代表4
返回:不会影响原数组,返回截取完之后的新数组
splice()
功能:删除数组中的指定元素,或是添加加元素到指定位置
参数:
1: 表示开始位置的索引
2: 表示删除的个数
3: 可以讲这些元素自动插入到开始位置索引前边
var arr = [1,2,3,4,5];
arr.splice(0,2,1212); //[1212,3,4,5]
arr.splice(0,0,1212121); //往第一个参数的前面添加元素 [1212121,1,2,3,4,5]
数组去重:
var arr = [1,2,2,3,4,4,3,4,4,5,5,7];
for (var i = 0; i < arr.length; i++) {
for (var j = 1+i; j < arr.length; j++) {
if(arr[i]===arr[j]) {
arr.splice(j,1);
j--; //注意删了一位后,后面的数自动往前推一位,导致相邻的一位没有被比较
}
}
}
console.log(arr);
concat()
功能:连接两个或是多个数组
var arr = [1,2];
var arr1 = [22,33];
var newArr = arr.concat(arr1);
返回:会返回链接之后的新数组
join()
功能:将数组转换成为一个字符串,不会对原数组产生影响
参数:可以指定一个字符串作为参数,这个字符串会成为数组中元素的连接符,默认为‘,’l连接
var arr = [1,2];
var result = arr.join(); //'1,2'
var result = arr,join(''); //'12'
返回:会返回新的数组
reverse()
功能:反转数组
var arr = [1,2,3,4];
arr.reverse(); // [4,3,2,1]
返回:会返回反转之后的新数组
sort()
功能:数组排序,会影响原数组,默认按照unicode编码进行排序,从小到大
参数:回调函数
会分别使用数组中的元素作为实参去调用回调函数
会根据回调函数的返回值来决定元素的位置
若返回一个大于0的则元素 交换位置
若返回一个小于0的则元素 位置不变
若返回一个==0的则元素 位置不变
var arr2 = [1,4,5,6,3,65,11];
arr2.sort(function(a,b) {
if(a>b) {
//前边大 换位置(升序)
return 1;
} else if(a<b){
return -1;
} esle {
return 0;
};
//return a-b; 同上(升序)
//return b-a;(降序)
});
toString()
功能:将数组转化为字符串
var arr = [1,2,3,4];
arr.toString(); // "1,2.3,4"
js 数组传统方法的更多相关文章
- 小兔JS教程(四)-- 彻底攻略JS数组
在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...
- js数组学习整理
原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...
- 转→js数组遍历 千万不要使用for...in...
看到一篇内容还不错,但是排版实在糟糕, 逼死强迫症患者啊,直接拉下去找原文连接,找到了,但是已经消失了···500错误... 第一次因为实在看不下去一篇博客的排版, 为了排版而转载... 转载地址:h ...
- js数组操作大全
原文(http://www.cnblogs.com/webhotel/archive/2010/12/21/1912732.html) 用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简 ...
- js数组去重的4种方法
js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.inde ...
- js 数组处理函数
本文转载自有有<js 数组处理函数> concat 将参数列表连接到原数组后面形成一个新的数组并返回,原有数组不受影响. var arr = ["a","b& ...
- js 数组赋值问题 :值传递还是引用?
转载于知乎var a = [1,2,3]; var b = a; a = [4,5,6]; alert(b); //[1,2,3] 面试时被问到这样一个问题,竟然从来没试过... 当时直接的理解,数组 ...
- JS数组方法汇总 array数组元素的添加和删除
js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^ var arr = new Array(); arr[0] = "aaa"; arr[ ...
- js数组操作
用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学! ...
随机推荐
- 洛谷 P2040 打开所有的灯 题解
这个题写其他题解的dalao们已经解释了 一个灯最多开一次(如果实在不知道为什么看评论区) 这个题一共就9个灯嘛,对吧 递归好想不好写(对于我这种蒟蒻) 所以我写了一个所有题解中最暴力的 直接枚举9个 ...
- linux grep 查询多行的方法
linux grep 查询多行的方法 经常查询 git log 中使用的方法, 如下 git log |grep "xxxx" 如果想查询多行的话, 就有些尴尬, 如果想查询多行的 ...
- Missing Data Reconstruction in Remote Sensing Image With a Unified Spatial–Temporal–Spectral Deep Convolutional Neural Network(缺失数据补全,时空谱网络)
摘要 文章针对修复坏波段(AQUA B6),恢复条带损失,恢复云污染提出了一个深度学习网络结构,他说 To date, to the best of our knowledge, no studies ...
- sourceforge文件下载过慢
sourceforge文件下载过慢,可以用下面网址镜像下载, http://sourceforge.mirrorservice.org 按搜索到的项目的英文字母依次查询,如http://sourcef ...
- Linux里使用rz和sz命令
lrzsz是一个unix通信套件提供的X,Y,和ZModem文件传输协议,官网:http://freecode.com/projects/lrzsz/ windows 需要向centos服务器上传文件 ...
- 将jar包导入maven本地仓库
https://blog.csdn.net/lvdaan/article/details/79760976 一.首先配置环境变量 在path 中添加 maven的bin 的路径 例如:D:\soft\ ...
- 第08组 Alpha冲刺(3/4)
队名 八组评分了吗 组长博客 小李的博客 作业博客 作业链接 组员1李昕晖(组长) 过去两天完成了哪些任务 文字/口头描述 11月19日了解各个小组的进度与难以攻破的地方,晚上安排开会,安排新的冲刺任 ...
- Windows Server 2008 + IIS 7+ ASP.NET 并发优化
Windows Server 2008 + IIS 7+ ASP.NET 并发优化 站点出现这样的错误信息: Error Summary: HTTP Error 503.2 - Service Una ...
- jquery给label绑定click事件被触发两次解决方案
首先我们看下面的代码片段(label包裹checkbox) <div class="example"><label for="chk_6" c ...
- hive函数 get_json_object
pandas和SQL数据分析实战 https://study.163.com/course/courseMain.htm?courseId=1006383008&share=2&sha ...