类数组转数组

ES5解决方案

let arr = Array.prototype.slice.call(arrlike)

ES6解决方案

let arr = Array.from(arrlike) // 使用Array.from
let arr = [...arrlike] // 使用拓展运算符

对象转数组

首先,我们来看两个方法 Object.keys() 、Object.values()

Object.keys(obj) 返回的是一个由obj对象的键名 组成的数组,obj可以是数组

Object.values(obj)  返回的是一个由obj对象的值 组成的数组

这两个方法有一些妙用,看下面代码:

//判断对象是否为空
const isEmpty = (obj) => Object.keys(obj).length !== //字符串转为数组
let arr = Object.values('abc') //arr = ['a','b','c']

对象的遍历

const me = {
firstName: 'dell',
lastName: 'lee',
}
let arrme = [ ]
// 命令式风格
for (const [key, value] of Object.entries(me)) {
arrme.push(`${value}`)
}
//函数式
Object.entries(me).forEach(([key, value]) => console.log(`${key}: ${value}`))

字符串转数组方法总结

console.log(Array.from('abcd'))
console.log([...'abcd'])
console.log('abcd'.split('')) //推荐使用,兼容性好

构建重复值得数组用 fill()

let arr = new Array().fill()        //[6,6,6,6,6,6]

数组的方法总结

1 插入删除类

  push/pop 数组末尾添加/删除

   unshift/shift  数组开头添加/删除

  splice  可删除,可插入

2 截取连续子集

  slice(start,end)

3 查找元素类

  arr.indexOf()   indexOf() 方法可返回数组中某个指定的元素(第一个)位置,没找到返回-1

  arr.lastIndexOf()  lastIndexOf() 方法可返回一个指定的元素在数组中最后出现的位置,从该字符串的后面向前查找,没找到返回-1

  includes()  用来判断一个数组是否包含一个指定的值    如果包含则返回 true    arr.includes(item)

find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined。

findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。

4 拼接

  arr.join('+')         拼接成字符串

  arr1.concat(arr2)     拼接数组

5 判断是否为数组

  arr.isArray()

6 排序类

sort()    排序

reverse()  翻转数组

7 集合变换类

forEach    无返回值,常用于存粹的遍历,大多数情况可以替代 for 循环使用    不能变量对象,可以使用for in

filter  返回原数组的子集,不改变原数组,用于对原数组的进行过滤筛选

let newArr = [,,,,,,].filter((item,index,arr) => {
return item % ==
})

   map 返回的和原数组长度相同的映射数组,用于映射到另外一个数组

let newArray = [,,,].map((item,index,arr) => {
return item +
})

  reduce/reduceRight 返回一个和初始值类型相同的值,中文叫归并操作,用于遍历数组每个元素收集需要的数据返回一个值

const scores = [
{
subject: 'math',
score:
},
{
subject: 'chinese',
score:
},
{
subject: 'english',
score:
}
];
const dis = {
math: 0.5,
chinese: 0.3,
english: 0.2
}
const sum = scores.reduce((pre,item) => {
return pre + item.score * dis[item.subject]
},)

JavaScript 数组学习总结的更多相关文章

  1. javascript 数组学习(一)

    今天学习了一下<javascript权威指南(第6版)>的第七章:数组 一.数组的创建: 数组的创建有3种方法: var colors = new Array(3);//可以省略new v ...

  2. Javascript数组学习

    记录下学习数组的过程 1.创建数组 var ary1 = new Array();//空数组 var ary2= [] ;//字面量 2.数组检测 //方法一 if(array instanceof ...

  3. 【学习笔记03】Javascript数组学习

    数组定义的方法一: var Myarr=new Array(); //先声明一维 for(var i=0;i<2;i++){ //一维长度2 Myarr[i]=new Array(); //再声 ...

  4. JavaScript数组学习总结

    数组   数组 1.数组:数组是一组数据(数据类型不限,任意)的有序集合===>我们写代码,一般一个数组只放一种数据类型的数据 2.我们写代码,一般一个数组只放一种类型的数据 3.注意: 大多数 ...

  5. javascript数组学习1

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  6. JavaScript数组(二)实例

    一.Js 数组示例常用操作. $(function () { Javascript数组学习 var nums = new Array([10], [5],[ 8], [2], [3]); 数组反转 n ...

  7. RX学习笔记:JavaScript数组操作

    RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.un ...

  8. [前端JS学习笔记]JavaScript 数组

    一.JavaScript数组的奇葩 大多数语言会要求数组的元素是同个类型, 但是JavaScript允许数组元素为多种类型. var arr = ["羽毛球", 666, {&qu ...

  9. JavaScript基础学习(三)—数组

    一.数组简介     JavaScript数组的每一项都可以保存任何类型的数据,也就是说数组的第一个位置保存字符串,第二个位置可以保存数值,第三个位置可以保存对象,而且数组的大小是可以动态调整的,即可 ...

随机推荐

  1. MIT线性代数:1.方程组的几何解析

  2. 学习笔记45_log4net日志

    1.配置添加一个App.config *对于网站,就使用web.config ***对于App.config和web.config的配置,在表现形式上是不一致的,使用的时候应该在网上查对于的配置设置. ...

  3. 跑酷天堂C++小黑框版

    上:跳跃 左右:行走 #include <bits/stdc++.h> #include <windows.h> #include <conio.h> using ...

  4. [考试反思]1024csp-s模拟测试86:消耗

    %%%两个没素质的和一个萌两小时AK 最近貌似总是可以比较快速的拿下T1,然后T2打到考试结束... T1是套路题没什么好说的. T2是一个比较蠢的博弈题,我花了很长时间干各种乱七八糟的事 什么打表啊 ...

  5. Java I/O系统学习系列五:Java序列化机制

    在Java的世界里,创建好对象之后,只要需要,对象是可以长驻内存,但是在程序终止时,所有对象还是会被销毁.这其实很合理,但是即使合理也不一定能满足所有场景,仍然存在着一些情况,需要能够在程序不运行的情 ...

  6. jq实现多选框及反选

    1 效果图 2 html <div class="main"> <table> <tr> <th><input type=&q ...

  7. 使用Typescript重构axios(十)——异常处理:增强版

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  8. getchar()用法 【转】

    1.从缓冲区读走一个字符,相当于清除缓冲区 2.前面的scanf()在读取输入时会在缓冲区中留下一个字符'\n'(输入完s[i]的值后按回车键所致),所以如果不在此加一个getchar()把这个回车符 ...

  9. css3的过渡和动画的属性介绍

    一.过渡 什么是过渡? 过渡是指:某元素的css属性值在一段时间内,平滑过渡到另外一个值,过渡主要观察的是过程和结果. 设置能够过渡的属性: 支持过渡的样式属性,颜色的属性,取值为数值,transfo ...

  10. python—mariadb自动部署主从

    import configparser import os def config_mariadb_yum(): exists = os.path.exists('/etc/yum.repos.d/ma ...