数组

1.数组去重:   主要是使用的 new Set() 方法     https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Set

// 两个方法  主要是使用到new Set()
let repeatArr = [1,2,3,4,1,2,3,4];
let reasult = [...new Set(repeatArr)] //方法一
let reasult2 = Array.from(new Set(repeatArr)) // 方法二 console.log(repeatArr,reasult,reasult2)

2.替换数组指定位置元素 (splice)   ,当然 splice 可以进行的不仅仅是替换,这个方法可以  增加 、删除、替换

// 使用splice 时 需要注意 它会改变原数组,并返回给你的是 你需要 删除 替换 的元素,增加则是返回空数组
/*
一共三个参数
参数一:代表你要开始的位置 (index值) 必填

参数二:代表你需要影响的元素个数 必填
   注释:1、代表你开始位置(包含),之后往后数,需要影响的元素个数 (如果没有第三个元素,则是删除,否则是替换)
2、如果为0 则是不影响任何原有元素(如果没有第三个元素,则是不改变,否则是增加) 数三:代表你是否需要新的元素
注释:后面可接多个
*/
let spliceArr = ['hello','world',1,2,3];
let result = spliceArr.splice(2,1,'崽种')
let result2 = spliceArr.splice(3,0,'嘻嘻','哈哈')
let result3 = spliceArr.splice(3,0)
console.log(spliceArr,result,result2,result3)

3.数组转换为对象  这个主要是用到扩展运算符

// 将数组转换为对象  主要是用到扩展运算符(...)
// 数组转换出来的对象 key值为数组的index值 value值为数组的元素
let changeArr = ['hello','!','world'];
let changeToObj = {...changeArr};
console.log(changeToObj);

4.合并数组    (concat 方法 || 扩展运算符方法)

// 合并数组    (concat 方法 || 扩展运算符方法)
let concatArr = [0, 1, 2]
let concatArr2 = [3, 4, 's']
let concatArr3 = [5] let result = concatArr.concat(concatArr2, concatArr3) //concat 数组自带的合并方法 let result2 = [...concatArr, ...concatArr2, ...concatArr3] //扩展运算符方法合并数组
console.log(result, result2)

5.求两个数组的交集

// 求两个数组的交集(即两个数组的重复部分)
// 注意需要去重, filter里面用来判断部分 可写 arr2.include() {includes 只返回 true 或 false}

     let arr = [0, 2, 4, 6, 8, 8]
let arr2 = [1, 2, 3, 4, 5, 6, 8, 8, 2] let result = [...new Set(arr)].filter(item => arr2.indexOf(item) >= 0) let result2 = [...new Set(arr)].filter(item => arr2.includes(item)) console.log(result,result2)

6.过滤数组中的虚值   使用数组的过滤方法

  何谓虚值:false,0,' ',null,NaN,undefined  这些都是虚值

// 过滤数组中的虚值   使用数组的过滤方法   何谓虚值:false,0,' ',null,NaN,undefined  这些都是虚值
let arr = [0,'',NaN,undefined,1,1,NaN]
let result = arr.filter(Boolean)
console.log(result);

7.数组 排序 (sort)

// 数组排序 (sort 方法)
let arr = [1, 2, 8598, 21, 8974, 12, 963, 125, 10] let result = arr.sort((a, b) => a - b) //升序 let result = arr.sort((a, b) => b - a) //降序 console.log(result)

JS 数组,对象常用方法 集合的更多相关文章

  1. js数组对象常用方法小结

    ~~~数组添加元素后一般返回数组的新长度 如: push(ele1[,ele2...]), unshift(ele1[,ele2...]) ~~~数组删除元素后一般返回被删除的元素 如: pop() ...

  2. JS数组array常用方法

    JS数组array常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2)获取对象的 ...

  3. JavaScript数组对象常用方法

    JavaScript数组对象常用方法 方法 形式 返回值 是否改变原数组 描述 concat -items: ConcatArray[] 追加之后的数组 否 连接两个或更多的数组,并返回结果.注意 c ...

  4. 判断js数组/对象是否为空

    /** * 判断js数组/对象是否为空 * isPrototypeOf() 验证一个对象是否存在于另一个对象的原型链上.即判断 Object 是否存在于 $obj 的原型链上.js中一切皆对象,也就是 ...

  5. js 数组的常用方法

    pop,push,reverse,shift,sort,splice,unshift 会改变原数组 join,concat,indexOf,lastIndexOf,slice,toString 不会改 ...

  6. js数组去重常用方法

    js数组去重是面试中经常会碰到的问题,无论是前端还是node.js数组常见的有两种形式,一种是数组各元素均为基本数据类型,常见的为数组字符串格式,形如['a','b','c'];一种是数组各元素不定, ...

  7. js数组相关知识集合

    一.js数组快速排序 <script type="text/javascript"> var arr = [1, 2, 3, 54, 22, 1, 2, 3]; fun ...

  8. js 数组对象的操作方法

    在jquery中处理JSON数组的情况中遍历用到的比较多,但是用添加移除这些好像不是太多. 今天试过json[i].remove(),json.remove(i)之后都不行,看网页的DOM对象中好像J ...

  9. JS数组&对象遍历

    遍历的总结,经常用到的,希望帮助你我成长. JS数组遍历: 1,普通for循环 var arr = [1,2,3,4,9]; for ( var i = 0; i <arr.length; i+ ...

  10. js数组对象排序详解

    一.js对象遍历输出的时候真的是按照顺序输出吗? 下边就来实践一下: var obj={'3':'ccc',name:'abc',age:23,school:'sdfds',class:'dfd',h ...

随机推荐

  1. Java 中要将 String 类型转化为 int 类型

    在 Java 中要将 String 类型转化为 int 类型时,需要使用 Integer 类中的 parseInt() 方法或者 valueOf() 方法进行转换. 例1: 1 2 3 4 5 6 S ...

  2. laravel 一些好用的GitHub项目包

    链接地址:好用的GitHub包

  3. 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。

    问题: 该错误是因为应用程序需要jQuery,但是当前项目中并没有jQuery,或者存在jQuery但是程序不知道jQuery的存放路径. 解决方案: 一.下载jQuery,引入必要的jquery-X ...

  4. 玩透二叉树(Binary-Tree)及前序(先序)、中序、后序【递归和非递归】遍历

    基础预热: 结点的度(Degree):结点的子树个数:树的度:树的所有结点中最大的度数:叶结点(Leaf):度为0的结点:父结点(Parent):有子树的结点是其子树的根节点的父结点:子结点/孩子结点 ...

  5. PAT 1024 科学记数法

    PAT 1024 科学记数法 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部 ...

  6. QQuickPaintedItem鼠标精准拾取(pick/select)研究

    QT C++在2D图形方面已经做的很完善了,在PC端(Windows.Linux和MaC)上都有很好的表现. QT中的QML特别适合于移动端应用的开发,QML中的一些基本形状类型并不是一一地与Qt C ...

  7. JavaWeb 文件的上传、下载

    文件上传 表单 <form action="HandlerServlet" method="post" enctype="multipart/f ...

  8. 结对项目(JAVA)

    项目成员: 邓镇港 3117004608 陈嘉欣 3117004604 一.Github项目地址: https://github.com/kestrelcjx/operation_expression ...

  9. Java错误体系

    1.Java所有的异常错误都继承与Throwable类,只有继承了Throwable类,才能在异常传递体系中进行. 2.Throwable下有两个重要的子类,Error和Exception Error ...

  10. Game Engine Architecture 13

    [Game Engine Architecture 13] 1.describe an arbitrary signal x[n] as a linear combination of unit im ...