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高手的自己居然无从下手,一下狠心,我学! ...
随机推荐
- 洛谷p1966火柴排队题解
ps:鉴于你们的蒟蒻yxj实在太蒻辽, 所以, 看不懂也是正常的........ 树状数组 xxy学姐给我们讲的树状数组, 她讲的真的是太好啦!qwq!吹爆xxy 然后, 为了巩固自己, 硬着头皮写题 ...
- HTML5快速写页面的方法
1 如果有原型的HTML页面(Axure导出来),可以在此从F12的“查看器”基础上拷贝到一个新文件,继续写代码. 2 利用EditPlus软件的工具 3 使用Dreamweaver CS5,可以直观 ...
- HandlerMethodArgumentResolver的抽象實現AbstractNamedValueMethodArgumentResolver下的子类
Annotation-based argument resolution 部分2 org.springframework.web.servlet.mvc.method.annotation.Reque ...
- JDBC连接抽象方法的使用例子
package com.zdlt.auth.api.base.datasource; import java.sql.*; import java.util.ArrayList; import jav ...
- vscode配置python之settings.json 智能提示
vscode编写Python的智能提示,搞了好久,参考了各种网上配置,如下,备份方便自己查找. { "workbench.iconTheme": "material-ic ...
- 巧用List.stream()方法对List做处理
List.steam()的强大之处在此不做赘述. 直接进入主题: 1.过滤Bean List中,某些字段等于指定值的所有行 List<Member> list = itemsArray.t ...
- vue重置表单数据
Object.assign(this.$data, this.$options.data()) // 全部重置 Object.assign(this.$data.form, this.$options ...
- Android NDK编译选项设置
Android NDK编译选项设置 网易加固关注 0.5472016.08.22 14:07:00字数 3,034阅读 6,805 在Android NDK开发中,有两个重要的文件:Android.m ...
- weui.js汉字乱码
2019-6-25 11:04:13 星期二 min.js 源文件中会自带乱码: 鍙栨秷: 取消; 纭畾: 确定; 方案: 把weui.js用notepad++打开, 搜索乱码字符, 替换掉, ...
- (三)Java数据结构和算法——冒泡、选择、插入排序算法
一.冒泡排序 冒泡算法的运作规律如下: ①.比较相邻的元素.如果第一个比第二个大,就交换他们两个. ②.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.这步做完后,最后的元素会是最大的数( ...