js数组中 我们很多数组的方法都知道其中的含义 但是每一次用的都不是很顺手 下边我给大家写了一个小小的demo 来理解那些 近似”双胞胎“的东西

// splice方法
var a=[1,2,3,4,5,6,7,8];
console.log(a.splice(4))//5 6 7 8 从第四个位置开始删除 返回删除的元素 索引值为0开始 不包括第四个位置的数组元素
console.log(a)// 1 2 3 4 新的修改完毕的数组
console.log(a.splice(1,2)) //2 3 返回删除的元素
console.log(a) //1 4
console.log(a.splice(1,1)) //
console.log(a) //
console.log(a.splice(1,2)) //返回空数组 因为没有找到数组元素
console.log(a) //1 var b = [1,2,3,4,5];
console.log(b.splice(2,0,'a','b')) //[] 如果没有删除元素也是返回一个空数组
console.log(b) // [1, 2, "a", "b", 3, 4, 5]
console.log(b.splice(2,2,[1,2],3)) // a b
console.log(b) //[1, 2, [1, 2], 3, 3, 4, 5]
// push 和pop
var stack=[];
console.log(stack.push(1,2)) //2 返回的是数组新的长度
console.log(stack) // 1 2
console.log(stack.pop()) //2
// 删除数组的最后一个元素减小数组的长度并且返回他删除的数值 返回的是删除的数值 返回的是删除的数值 返回的是删除的数值(重要的事情说三遍) // unshift 和shift var a=[];
console.log(a.unshift(1)); //1 返回数组新的长度 这个是在头部添加元素
console.log(a.unshift(2)); //2 返回数组新的长度 这个是在头部添加元素
console.log(a) // 2 1 console.log(a.shift(2)); //2 删除一个元素并且把他返回
console.log(a) // // toString() 和 toLocalestring() var a = [1,2,3];
console.log(a.toString()) // 1,2,3
console.log(a) // [1,2,3] 注意: toString 适合不使用参数的join方法返回的字符串是一样的
console.log(a.join()) // 1,2,3
console.log(a.toLocaleString()) // 1,2,3 // foreach var date=[1,2,3,4,5];
var sum = 0;
date.forEach(function(value){ sum+=value;})
console.log(sum) //
date.forEach(function(v,i,a){ a[i]=v+1;})
console.log(date) //[2,3,4,5,6] 参数 数组元素 元素索引 数组本身 // map
a = [1,2,3];
console.log(a.map(function(x){return x*x})) // 1,4,9 返回一个新的数组 但是并没有修改原来数组的元素
console.log(a) // 1,2,3
a = [5,4,3,2,1];
console.log(a.filter(function(x) {
return x < 3;
})) // 2 1
console.log(a) // [5,4,3,2,1] // every 和some a = [1,2,3];
console.log(a.every(function(x){return x<10})) //true
console.log(a.every(function(x){return x%2===0})) //false // indexOf 和lastIndexOf a = [1,2,3,4];
console.log(a.indexOf(2)) //1 从头开始返回找到的元素的索引 a[1]=2
console.log(a.indexOf(1)) //0 a[0]=1
console.log(a.lastIndexOf(3));// 从尾开始 2
console.log(a.lastIndexOf(1)); // 0 索引为0
console.log(a.indexOf(5))// -1 如果没有找到 那么就返回 -1

都加上了注释 可以拿过去自己解除 注释 看一下效果

js 数组容易弄混的那些方法的更多相关文章

  1. JS数组去重的几种常见方法

    JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ...

  2. coding++:JS数组去重的几种常见方法

    一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ function uniq ...

  3. JS数组的concat、push等方法,操作的是地址指针,而非内存操作

    var a = [{x:1}, {y:1}, {z:3}]; var b = a.concat(['gg', 'ff']); var c = []; c.push(a[1]); console.log ...

  4. 【原】js数组对象去重最简单的方法

    简单的数组去重是比较简单的,方法也特别多,如给下面的数组去重: let arr = [1,2,2,4,9,6,7,5,2,3,5,6,5] 最常用的可以用for循环套for循环,再用splice删除重 ...

  5. js数组中容易误用的一些方法

    1.every和some 两个方法的参数都是一个函数,函数的有3个参数,依次是当前值value,索引index,数组array every判断数据中的每一项是否满足某个条件,如果满足就返回true,有 ...

  6. js 数组的pop(),push(),shift(),unshift()方法小结

    关于数组的一些操作方法小结: pop(),push(),shift(),unshift()四个方法都可改变数组的内容以及长度: 1.pop() :删除数组的最后一个元素,并返回被删除的这个元素的值: ...

  7. js数组中对象去重 (reduce() 方法)

    一个数组中含有对象,并且去掉数组中重复的对象.主要代码如下: var arrData = [ {id: , name: "小明"}, {id: , name: "小张&q ...

  8. js数组去重的方法(转)

    JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ...

  9. js 数组api

    Javascript Array API   JS数组对象提供了很多API方法,要用到的朋友可以查阅哈,如有错误欢迎指正. /** * Created by Administrator on 2017 ...

随机推荐

  1. python中下划线_的用途

    Python 用下划线作为变量前缀和后缀指定特殊变量. _xxx       不能用'from module import *'导入 __xxx__  系统定义名字 __xxx     类中的私有变量 ...

  2. FIS 配置小诀窍

    之前用 FIS 的时候,发现配置 roadmap 的时候出现了非常诡异的现象:命令行使用 -o 参数,配置文件里对 html 不使用优化,导致 uglify 了 js 文件后,不会修改 html 中对 ...

  3. JAVA加解密 -- 对称加密算法与非对称加密算法

    对称加密算法:双方必须约定好算法 DES 数据加密标准:由于不断地被破解 自98年起就已经逐渐放弃使用 AES 目前使用最多的加密方式,官方并未公布加密方式已被破解,替代DES 实现和DES非常接近 ...

  4. 虚拟机oracle virtualbox 上安装centos6.5 网络设置

    上篇文章写到,在虚拟机上安装centos6.5,结果依照文章非常顺利的安装了,可是用yum安装软件的时候.报错,源有问题,不能下载,然后ping一下摆渡.非常悲催 dns解析不了,cat /etc/r ...

  5. float过后 高度无法自适应的解决方法

    float过后 高度无法自适应的解决方法: 在float层最外面包一层div即可.

  6. python 使用 urllib2

    使用basic auth 的3种方式 1. 设置header import urllib2 from base64 import encodestring headers = {'Content-Ty ...

  7. taro + iview 实现跨平台开发(App,Wap,微信小程序)

    1.安装 (1)安装脚手架 npm install -g @tarojs/cli taro init myApp (2)H5端运行 npm run dev:h5 taro build --type h ...

  8. 在ASP.NET MVC中支持 HttpHandler

    写HttpHandler与ASP.NET WebForm基本没有什么不同.只是部署的时候需要注意,只在Web.config中注册还不行,需要在Global.asax.cs添加一条ignore规则: p ...

  9. 【Excle】文本日期转化为日期格式

    现存在一列文本格式的日期 需要将该列转化为日期格式 方法一:使用分列 数据→分列,第三步选择[日期] 方法二:使用text函数 公式得到的结果为: 但是这样转化后的是文本型日期,需要转化为日期型得先转 ...

  10. C/C++ linux下光标定位和清屏函数

    printf("\033[47;31mhello world\033[5m"); 47是字背景颜色, 31是字体的颜色, hello world是字符串.  后面的\033[5m是 ...