类数组转数组

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. python的多线程和多进程(一)

    在进入主题之前,我们先学习一下并发和并行的概念: --并发:在操作系统中,并发是指一个时间段中有几个程序都处于启动到运行完毕之间,且这几个程序都是在同一个处理机上运行.但任一时刻点上只有一个程序在处理 ...

  2. 2018.8.8 python 初识函数

    主要内容: 1.函数定义 2.函数名,函数体以及函数的调用 3.函数的返回值 4.函数的参数 一.函数的定义 函数:对代码块和功能的封装和定义. 二.函数名.函数体及函数的调用 我们使用def关键字来 ...

  3. Linux常见命令之文件处理命令

    ls命令 ls(选项)(参数) 选项 -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出): -A:显示除影藏文件“.”和“..”以外的所有文件列表: -C:多列显示输出 ...

  4. Spring Boot 如何给微信公众号返回消息

    hello 各位小伙伴,今天我们来继续学习如何通过 Spring Boot 开发微信公众号.还没阅读过上篇文章的小伙伴建议先看看上文,有助于理解本文: Spring Boot 开发微信公众号后台 上篇 ...

  5. activeMQ 安装及启动异常处理

    一.环境: [root@centos_6 ~]# cat /etc/system-release CentOS release 6.5 (Final) [root@centos_6 ~]# uname ...

  6. 《Effective Java》 读书笔记(六)避免创建不必要的对象

    java 有很多修饰类的属性的关键字:常用的static,final 说说final和static吧,平时在编程的时候,这两个关键字很多时候都觉得可有可无,最多的时候就是他们俩同时出现----定义常量 ...

  7. emacs考场短配置

    (set-background-color "gray15") (set-foreground-color "gray") ;;设置颜色 (global-set ...

  8. LVS DR模式实践

    client:192.168.4.10/24 proxy:192.168.4.5/24 VIP:   192.168.4.15/24 web1:192.168.4.100/24 VIP:192.168 ...

  9. [考试反思]1030csp-s模拟测试94:未知

    排名也未知.第1或第5. 分数也未知,300或260. 人生真是大起大落... 啊啊啊啊啊我好感动啊竟然重测了一次----- 评测机怎么测怎么RE,本机怎么测怎么AC(任意编译指令,任意评测平台) 结 ...

  10. 用python实现你的绘画梦想

    导语: ​ 你是否还在为当时年少时没有选择自己的梦想而伤心,是否还在为自己的无法成为绘画名家而苦恼,这一切都不需要担心.python都能帮你实现,诶!python怎么能画画呢,一些简单的图案没问题,但 ...