数组的方法(15个)

对象数据类型;
数组成员有一个与之对应的索引
length : 代表数组成员的个数;
操作改变数组一些方法;这些数组的方法都是内置的;
// 1. 方法作用;
// 2. 方法的参数
// 3. 方法返回值
// 4. 原有的数组是否发生改变;

1.push

1): 向数组末尾新增一项;
2): 参数是新增的那一项;可以传多个;
3): 新数组的数组成员的个数;
4): 原有数组发生改变;
var ary = [12,89,89,36,0,"dsh",true,99];
ary.push(100)
ary[ary.length] = 100;
console.log(ary);

2.pop

1) : 删除数组的最后一项
2) : 不需要传参数
3) : 被删除的那一项
4) : 原有数组发生改变;
ary.pop();
delete ary[ary.length-1]
console.log(ary[7]);
ary.length--;

3:unshift

1): 向数组开头新增一项;
2): 需要传参数
3): 新数组的数组成员个数
4): 原有数组发生改变;
ary.unshift(12);
console.log(ary);

4.shift

1): 删除数组的第一项
2): 不需要传参
3): 被删除的那一项
4): 原有数组的发生改变;
ary.shift();

5.slice

1) : 数组的截取
2) :slice(m,n): 从数组索引m开始,截取到索引n,但是不包含n;[前包后不包]
slice(m) : 从索引m开始,截取到末尾;
slice():数组的克隆 slice(0);
// 索引负数: 让当前length+负数;
3) : 返回值是截取的数组
4) : 原有数组不发生改变;
var ary = [12,89,89,36,0,"dsh",true,99];
ary.slice()// 不传参;复制克隆
ary.slice(1)// 从索引1开始,截取到数组的末尾
ary.slice(2,6)// 从索引2开始,截取到索引8;但是不包含8;
//支持负数
ary.slice(6,4) // []

6.splice

1) : 删除数组中的某几项
2) : splice(m,n): 从索引开始,删除n个
splice(m) : 从索引m开始删除到末尾;
splice(0):
splice(m,x,n);替换从索引m开始,删除x个,用n替换;
3): 返回值;删除那几项,并且以数组返回
4) : 原有数组发生改变;
ary.splice(0);// 从索引0开始,删除到数组的末尾
ary.splice(1,4) // 从索引1开始,删除4项
ary.splice(1,3,5,19)// 替换
ary.splice(1,0,5)// 在索引1的前面新增一项数字5;
console.log(ary);

7.sort

1) : 数组排序
2) :参数
  • 1.sort() : 只能数组成员是相同位数的数组
  • 2.sort(function(a,b){return a-b}) 从小到大排序
  • 3.sort(function(a,b){return b-a})从大到小
    3) : 是排序之后的数组
    4) : 原有数组发生改变;
ary.sort() : 只能排数组成员位数相同的数组;
var ary = [12,8,99,67,85,1,35,66,"78"];
var ary = [1,8,5,3,2];
var ary = [123,678,987,567,345,234];
ary.sort(function (a,b) {
return a-b;
});
var newAry = ary.sort(function (a,b) {
return b-a;
});
console.log(newAry);

8.reverse

1): 将数组颠倒过来
2): 不需要传参数
3): 数组成员顺序倒过来之后的数组
4): 原有发生改变;
console.log(ary.reverse());
console.log(ary);

9.concat :

1) : 数组的拼接
2) :
  • 1.不传参数: 数组的克隆
  • 2.传参数,(数组、每一项);把传入的实参拼接新的数组中;
    3) : 拼接之后的新数组
    4) : 原有数组不发生改变;
var ary = [12,8,99,67,66,66,85,1,35,66,"78",66];
var ary1 =[1,2,3]
console.log(ary.concat([100,200,null]));
var a = ary.concat();
console.log(ary.concat());

10.join

1) : 把数组成员按照特定的字符连接成一个字符串;

2) :

  • 1.不传参数,会默认按照逗号分开
  • 2.传参数,(特定的字符)
    3) : 拼接之后的字符串
    4) :原有数组不发生改变;
console.log(ary.join("+"));//"12+8+99+67+85+1+35+66+78"
console.log(ary.join(""));//"1289967851356678"
console.log(ary.join());//"12,8,99,67,85,1,35,66,78"

11.indexOf

1) : 检测数组成员在数组中第一次出现的索引位置; 判断当前项是否在数组中存在;如果不存在,返回-1;
2): 需要参数
3): 返回在数组中第一次出现的索引;
4): 原有数组不发生改变;
console.log(ary.indexOf(66));
console.log(ary.indexOf(666));
console.log(ary.indexOf(888));

12.lastIndexOf

1) : 检测数组成员在数组中最后一次出现的索引位置; 判断当前项是否在数组中存在;如果不存在,返回-1;
2): 需要参数
3): 返回在数组中最后一次出现的索引;
4): 原有数组不发生改变;
console.log(ary.lastIndexOf(66));

13 .map

1) : 遍历数组和映射
2): 需要参数
3) : 映射之后的数组
4): 原有数组不发生改变;
var ary = [12,8,99,67,66,66,85,1,"78",66];
var total= null;
var mn = ary.map(function (item,index) {
console.log(item);//遍历数组;第一个参数就是数组成员
console.log(index);// 代表数组成员的索引
return "<li></li>>";
// 求和
total +=Number(item);
console.log(total);
console.log(mn);

14.forEach

1) : 遍历数组;没有返回值;
2) : 需要参数
3) : 返回值是undefined
4) : 原有数组不发生改变;
var bhh = ary.forEach(function (item,index) {
console.log(item);
return 10;
})
console.log(bhh);//undefined
console.log(ary);

15.toString

1) : 转字符串
2) : 不需要参数
3) : 返回一个去了中括号之后的字符串
4) : 原有数组不变;
var ary = [1,23,8,9,90]
console.log(ary.toString());// "1,23,8,9,90"
console.log([12].toString());// "12"
console.log([].toString());// ""
console.log(ary);

JavaScript基础知识(数组的方法)的更多相关文章

  1. javascript基础知识-数组

    1.javascript创建数组时无需声明数组大小或者在数组大小变化时重新分配 2.javascript数组是无类型的 3.数组元素不一定要连续 4.针对稀疏数组,length比所有元素的索引都要大 ...

  2. Javascript基础知识总结一

    Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...

  3. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  4. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

  5. JavaScript 基础知识 - BOM篇

    前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...

  6. C语言基础知识-数组和字符串

    C语言基础知识-数组和字符串 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组概述 在程序设计中,为了方便处理数据把具有相同类型的若干变量按有序形式组织起来的方式我们称为数组 ...

  7. javascript 克隆对象/数组的方法 clone()

      1 11 javascript 克隆对象/数组的方法 clone() 1 demo: code: 1 var Obj; 2 let clone = (Obj) => { 3 var buf; ...

  8. JavaScript 基础(六) 数组方法 闭包

    在一个对象中绑定函数,称为这个对象的方法.在JavaScript 中,对象的定义是这样的: var guagua = { name:'瓜瓜', birth:1990 }; 但是,如果我们给瓜瓜绑定一个 ...

  9. (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识

    开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...

随机推荐

  1. CVPR论文《100+ Times Faster Weighted Median Filter (WMF)》的实现和解析(附源代码)。

    四年前第一次看到<100+ Times FasterWeighted Median Filter (WMF)>一文时,因为他附带了源代码,而且还是CVPR论文,因此,当时也对代码进行了一定 ...

  2. angular 2 - 003 typescript

    http://www.typescriptlang.org/docs/index.html var book: string = "hellp angular 2"; var nu ...

  3. 深度卷积网络(DCNN)和人类识别物体方法的不同

    加州大学洛杉矶分校在PLOS Computing Biology上发表了一篇文章,分析了深度卷积网络(DCNN)和人类识别物体方法的不同:深度卷积网络(DCNN)是依靠物体的纹理进行识别,而人类是依靠 ...

  4. 为RecyclerView打造通用Adapter

    ##RecycleView简单介绍 RecyclerView控件和ListView的原理有非常多相似的地方,都是维护少量的View来进行显示大量的数据.只是RecyclerView控件比ListVie ...

  5. 听闻 kubernetes,快速了解一番

    看到 各位 大厂都在用这个,  而本人最多是用yarn 做些ML的事情,   赶快了解一下, 先扫盲记录一下. 一.名称趣闻 kubernetes缩写为k8s, 阿哈 ,原来是:k8s,意思就是k后面 ...

  6. 关于python中pika模块的问题

    工作中经常用到rabbitmq,而用的语言主要是python,所以也就经常会用到python中的pika模块,但是这个模块的使用,也给我带了很多问题,这里整理一下关于这个模块我在使用过程的改变历程已经 ...

  7. Protobuf3 编解码

    我们已经基本能够使用Protocol Buffers生成代码,编码,解析,输出及读入序列化数据.该篇主要讲述PB message的底层二进制格式.不了解该部分内容,并不影响我们在项目中使用Protoc ...

  8. 自定义命令杀死 java 进程 alias kjava

    alias kjava='ps -ef|grep ProcessName |awk "{print $2}"|xargs kill -9' 上面脚本放在杀JAVA进程中,会出现一些 ...

  9. Excel公式与函数——每天学一个

    说明(2018-5-29 20:35:53): 1. 根据刘伟的视频讲解进行总结,网上讲Excel公式与函数的貌似就他讲的还不错.在他的微博里看到现在的照片胖了不少,不过还挺帅的,不再是以前那个小屌丝 ...

  10. set names utf8;

    对应用程序来说,强制将它们发起的数据库链接设置成UTF8编码有什么办法? 每个链接建立时先执行set names utf8; [mysqld] init-connect=‘set names utf8 ...