JS基础_数组的方法
常用的方法
1.push:向数组的末尾添加一个或更多元素,并返回新的长度。
将要添加的元素作为方法的参数传递,这些元素将会自动添加到数组的末尾
var a=[1,2,3];
var r = a.push("1","2");
console.log(a,r);//[1,2,3,1,2] 5
2.pop:删除并返回数组的最后一个元素,并将被删除的元素返回。
var a=[1,2,3];
var r = a.pop();
console.log(a,r);[1,2] 3
3.unshift():向数组的开头添加一个或更多元素,并返回新的长度
4.shift():删除并返回数组的第一个元素,并将被删除的元素返回
5.slice:从某个已有的数组返回选定的元素
- 该方法不会改变元素数组,而是将截取到的元素封装到一个新数组中返回
- 参数:
1.截取开始的位置的索引,包含开始索引
2.截取结束的位置的索引,不包含结束索引
- 第二个参数可以省略不写,此时会截取从开始索引往后的所有元素
- 索引可以传递一个负值
从后往前计算
var arr = [1,2,3,4,5];
var r = arr.slice(1,3);
console.log(arr,r);//[1,2,3,4,5] [2,3]
6.splice:删除元素,并向数组添加新元素。
- 可以用于删除数组中的指定元素
- 会影响到原数组,会将指定的元素从原数组中删除,并将被删除的元素作为返回值返回
- 参数:
第一个,表示删除的索引
第二个,表示删除的数量
第三个及以后的参数,
传递一些新的元素,这些元素将会自动插入到开始位置索引前面(既替换)
var arr = [1,2,3,4,5];
var r = arr.splice(1,3);
console.log(arr,r);//[1,5] [2,3,4]
7.concat:用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本
a.不会对原数组产生影响
var arr = [1,2];
var arr2=[6,7];
var arr3=[4,5];
var r1=arr.concat(arr2,arr3,6,7);
var r=arr.concat(arr2);
console.log(r);//[1,2,6,7]
8.join:将数组转换为一个字符串
a.该方法不会对原数组产生影响
b.可以制定一个字符串作为参数,用来作为数组中元素的连接符
(1).如果不指定连接符,则默认使用,连接
9.reverse:反转数组,会改变原数组
var arr = [1,2];
arr.reverse()
console.log(arr);//[2,1]
10.sort():对数组中的元素进行排序
a.会影响原数组,默认按照unicode编码进行排序
b.可以指定排序的规则
在sort()添加一个回调函数,来指定排序规则,回调函数中需定义两个形参,浏览器会分别使用数组中的元素作为实参去调用回调函数
浏览器会根据回调函数的返回值来决定元素的顺序
(1).如果返回一个大于0的值,则元素会交换位置
(2).如果返回一个小于0的值,则元素位置不变
(3).如果返回一个0,则认为连个元素相等,也不交换位置
var arr = [1,2,7,5,6,4,8,9];
arr.sort((a,b)=>a-b)
console.log(arr);//[1, 2, 4, 5, 6, 7, 8, 9]
arr.sort((a,b)=>b-a)
console.log(arr);//[9, 8, 7, 6, 5, 4, 2, 1]
JS基础_数组的方法的更多相关文章
- JS基础_数组的遍历
遍历:将数组中所有的元素都取出来 1.for循环 var arr = ["1","2","3"]; for(let i=0;i<arr ...
- JS基础_使用工厂方法创建对象(了解下就行了,用的不多)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JS基础_对象的方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JS基础_数组简介
内建对象 宿主对象 自定义对象 数组(Array) - 数组也是一个对象 - 它和我们普通的对象功能类似,也是用来存储一些值的 - 不同的是普通对象是使用字符串作为属性名的 数组是使用数字来作为索引来 ...
- JS基础_使用工厂方法创建对象
创建一个对象 var obj={ name:"hhh", age:28, gender:"男", say:function(){ console.log(&qu ...
- 【JS学习】数组过滤方法的使用filter
前言:本博客系列为学习后盾人js教程过程中的记录与产出,如果对你有帮助,欢迎关注,点赞,分享.不足之处也欢迎指正,作者会积极思考与改正. 使用效果: 可以返回参数函数为真的值 //情景:实现从stu数 ...
- JS中判断数组的方法
JavaScript中检测对象的方法 1.typeof操作符 这种方法对于一些常用的类型来说那算是毫无压力,比如Function.String.Number.Undefined等,但是要是检测Arra ...
- js基础学习-数组
let arr1 = [ {name: 1} ] let arr2 = [ {age: 23} ] let ages = [11, 22, 23] let newArr = arr1.concat(a ...
- js清空array数组的方法
方式1,splice Js代码 ,,,}; ary.length = ; Java中会报错,编译通不过. 而JS中则可以,且将数组清空了,如 Js代码 var ary = [1,2,3,4]; ...
随机推荐
- java Calendar Date 获取指定日期所在月或年的第一天和最后一天
一.获取传入日期所在月的第一天 public static Date getFirstDayDateOfMonth(final Date date) { final Calendar cal = Ca ...
- GoTests工具自动化test使用
安装 $go get -u github.com/cweill/gotests/... 复制代码 具体使用示例 用法 $gotests [options] PATH ... 复制代码 options说 ...
- Python&Selenium 数据驱动【unittest+ddt】
一.摘要 本博文将介绍Python和Selenium做自动化测试的时候,基于unittest框架,借助ddt实现数据驱动 二.测试代码 # encoding = utf-8 ""& ...
- Spring入门篇——第3章 Spring Bean装配(上)
第3章 Spring Bean装配(上) 介绍Bean的作用域.生命周期.Aware接口.自动装配和Resource等内容. 3-1 Spring Bean装配之Bean的配置项及作用域 从上至下依次 ...
- 数据结构与算法——常用排序算法及其Java实现
冒泡排序 原理:依次比较相邻的两个数,将小数放在前面(左边),大数放在后面(右边),就像冒泡一样具体操作:第一趟,首先比较第1个和第2个数,将小数放前,大数放后.然后比较第2个数和第3个数,将小数放前 ...
- spark_rdd 一波怼完面试官系列
Resilient Distributed dataset , 弹性分布式数据集. 分布式内存的抽象使用,实现了以操作本地集合的方式来操作分布式数据集的抽象实现. RDD是Spark最核心的东西,它表 ...
- 长春理工大学第十四届程序设计竞赛H Arithmetic Sequence——使用特例
题目 链接 题意:给定一个数X,输出一个等差数列,使得和为X. 分析 由等差数列的定义,可见一个数就是等差数列,两个数也是等差数列 #include<bits/stdc++.h> usin ...
- UVALive 6859——凸包&&周长
题目 链接 题意:在一个网格图上,给出$n$个点的坐标,用一个多边形包围这些点(不能接触,且多边形的边只能是对角线或直线),求多边形的最小周长. 分析 对于每个点,我们考虑与之相邻的4个点.一共由 $ ...
- CCPC 2017 哈尔滨 L. Color a Tree && HDU 6241(二分+树形DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6241 题意:给你一棵有 n 个结点的树,每个结点初始颜色都为白色,有 A 个条件:结点 x_i 的黑色 ...
- 智能指针unique_ptr记录
unique_ptr 对对象独有管理,无法复制,共享,值传递,可以使用move语义来转移控制权. std::default_delete<int> d; std::unique_ptr&l ...