零. 通用遍历方法

0.1 for...in...

let obj = {0:"a", 1:"b", 2:"c"};
for (let key in obj) {
console.log(obj[key])
}

0.2 for...of...

let obj = {0:"a", 1:"b", 2:"c"};
for (let value of obj) {
console.log(value)
}

一. JS遍历对象

1.1 Object.keys()遍历

let obj = {0:"a", 1:"b", 2:"c"};
Object.keys(obj).forEach((key) => {
console.log(key, obj[key]);
});

1.2 Object.values()遍历

let obj = {0:"a", 1:"b", 2:"c"};
Object.values(obj).forEach((value, key) => {
console.log(key, value);
});

1.3 Object.entries()遍历

let obj = {0:"a", 1:"b", 2:"c"};
Object.entries(obj).forEach((value, key) => {
console.log(key, value);
});

1.4 Object.getOwnPropertyNames()

let obj = {0:"a", 1:"b", 2:"c"};
Object.getOwnPropertyNames(obj);

二. JS遍历数组

2.1 forEach语句

let arr = [1, 2, 3]
arr.forEach((item) => {
console.log(item)
})

2.2 map方法

map不会改变原数组,callback执行返回的值会形成一个新的数组。

let arr = [1, 2, 3]
let newArr = arr.map((item) => {
item * 2
})

2.3 filter方法

filter将返回值为true的元素创建一个新数组。

let arr = [1, 2, 3]
let newArr = arr.filter((item) => {
item > 2
})

2.4 every方法

every,全部满足则返回true

let arr = [1, 2, 3]
let res = arr.every((item) => {
item > 2
}) //false

2.5 some方法

some,只有有一项满足则返回true

let arr = [1, 2, 3]
let res = arr.some((item) => {
item > 2
}) //true

JS对像和数组的遍历的更多相关文章

  1. JS如何去掉一个数组的重复元素 (数组去重)

    一.思路如下: 定义一个新数组,将老数组遍历一遍,再进行判断,如果新数组里面没有老数组的元素就添加,否则就不添加,最终输出整个新数组. 二.代码如下: var arr = ["a" ...

  2. 手写js代码(一)javascript数组循环遍历之forEach

    注:原文地址http://blog.csdn.net/oscar999/article/details/8671546 我这里是仿照学习! 1.js的数组循环遍历 ①数组的遍历首先想到的是for()循 ...

  3. JS数组&对象遍历

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

  4. 在js中使用for和forEach遍历数组

    数组的遍历 for var arr = [1, 2, 3, 4]; for (var i = 0; i < arr.length; i++){ arr[i]; } forEach var arr ...

  5. js面试题之数组去重对比

    最近看一些面试题,很多都提到了数组去重,用的最多的不外乎就是下面这个例子 arr.filter(function(value,index,arr){ return arr.indexOf(value, ...

  6. jQuery数组的遍历 function的加载

    加载函数时会被覆盖在jQuery中给提供的方案有三种形式 js中只能绑定一个方法 如果多次绑定后者会覆盖前者 最常用的一种 在jQuery中数组的遍历 使用map遍历数组  会返回一个新的数组  如果 ...

  7. 前端总结·基础篇·JS(二)数组深拷贝、去重以及字符串反序和数组(Array)

    目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 ...

  8. javascript:Json 和数组的遍历

    首先看代码示例var json={a:1,b:2,c:3}; //json var array={1,2,3}; //数组 alert(json.a); //弹出1 或alert(json['a']) ...

  9. JS合并两个数组的方法

    JS合并两个数组的方法 我们在项目过程中,有时候会遇到需要将两个数组合并成为一个的情况.比如: var a = [1,2,3]; var b = [4,5,6]; 有两个数组a.b,需求是将两个数组合 ...

随机推荐

  1. python实现不同条件下单据体的颜色不一样,比如直接成本分析表中关闭的细目显示为黄色

    #引入clr运行库 import clr #添加对cloud插件开发的常用组件的引用 clr.AddReference('Kingdee.BOS') clr.AddReference('Kingdee ...

  2. Dubbo架构深入篇----RPC实现总结

    最近我拜读了mindwind的一片博客文章深入浅出 RPC - 深入篇,希望通过Dubbo深入学习RPC架构设计,在此结合RPC架构的原理,解析Dubbo是如何实现RPC架构的. RPC架构模型 RP ...

  3. 基于socket实现大文件上传

    import socket 1.客户端: 操作流程: 先拿到文件--->获取文件大小---->创建字典 1.制作表头 header  如何得到 他是一个二进制字符串 序列化得到 字典字符串 ...

  4. vue修改Element的el-table样式

    修改Element中的el-table样式,可以使用以下几种方法: 1. row-style 行的 style 的回调方法,也可以使用一个固定的 Object 为所有行设置一样的 Style. 2. ...

  5. openstack stein部署手册 5. placement

    # 建立数据库用户及权限 create database placement; grant all privileges on placement.* to placement@'localhost' ...

  6. linux--基础知识1

    #进入终端窗口,root命令提示符#,普通用户登陆提示符$,切换终端用户 ctrl+shift+F2,退出终端命令exit #init 0 关机  reboot 重启  ls查看当前目录下文件  ls ...

  7. 简单生成随机数id的方法

    近期项目中需要生成不同的id,之前都是使用UUID来实现的,现在需求是只要8位数的,也就是说用户量是有限的,暂时是不需要太多的,所以就简单的使用Set实现了这一功能. /** * 生成8位不重复随机i ...

  8. alert(1) to win 7

    function escape(s) { // Pass inn "callback#userdata" var thing = s.split(/#/); if (!/^[a-z ...

  9. Flutter-TextField初始化值和選中取值

    import 'package:flutter/material.dart'; class PersonalCenterInformationScreen extends StatefulWidget ...

  10. 英国已有500万宽带用户接入并开始使用IPv6技术

    2018年英国首家为客户提供IPv6的主要ISP.随着所有现有的符合条件的用户线路启用,约90%的固定宽带用户群接入并开始使用IPv6,为IPv6互联网增加了超过500万个新眼球. 英国IPv6项目于 ...