数组的方法(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. centos 安装gitee备忘

    centos 安装gitee备忘:安装前需要升级git.需要安装mysql阿里云主机需要把端口加入例外需要修改全局配置文件把localhost改为ip需要设置为后台运行

  2. HashSet代码分析

    HashSet (jdk 1.7)的继承关系如下: HashSet是使用HashMap实现的一个没有重复元素的集合.HashSet用法如下: HashSet<String> hashSet ...

  3. yarn upgrade

    更新一个依赖 yarn upgrade 用于更新包到基于规范范围的最新版本 yarn upgrade --latest # 忽略版本规则,升级到最新版本,并且更新 package.json .

  4. freenode configuration sasl authentication in weechat

    转自:https://www.weechat.org/files/doc/stable/weechat_user.en.html#irc_sasl_authentication SASL authen ...

  5. 每天一个linux命令(13):less命令

    1.命令简介 less(less)  命令可以对文件或其它输出进行分页显示,与moe命令相似,但是比more命令要强大许多.应该说是linux正统查看文件内容的工具. 2.用法 less [选项].. ...

  6. Docker入门实践

    Docker是一门很成熟的容器技术,类似虚拟机技术主要用做环境的隔离,方便环境的复制镜像,虚拟机是基于操作系统这一层的,而Docker更加的轻量级,像是“应用”层级的.比如我需要一个MySQL环境.一 ...

  7. NoSuchMethodError: The getter 'inputs' was called on null.

    I get this message : You have hit a bug in build_runner Please file an issue with reproduction steps ...

  8. mycat偶尔会出现JVM报错double free or corruption并崩溃退出

    mycat偶尔会出现JVM报错double free or corruption并崩溃退出 没有复杂的sql,也没有大量的io INFO | jvm | // :: | *** Error in `j ...

  9. chrome浏览器解决跨域问题

    windows: 右击chrome图标 选择属性 快捷方式 在目标末尾位置,空格,输入--args --disable-web-security --user-data-dir 例如:"C: ...

  10. springboot 项目中读取资源文件内容 如图片、文档文件

    1 问题描述:在 springboot 项目中有时候会需要读取一些资源文件,例如 office的 docx 文档或者 png.jpg的图片.在多模块项目中资源文件需要放到启动项目的 Resources ...