资讯专栏INFORMATION COLUMN

遍历方法

miqt / 2357人阅读

摘要:有用到对象的转换成数组,然后又想到了遍历方法,所以,也想记录下终止或者跳出循环跳出循环体所在循环体已结束跳出本次循环,进行下一次循环,所在的循环体未结束终止函数执行只输出,,,到就跳出循环了不输出,因为跳过了,直接进入下一次循环遍历方法假数

有用到object对象的转换成数组,然后又想到了遍历方法,所以,也想记录下
1. 终止或者跳出循环

break跳出循环体,所在循环体已结束

continue跳出本次循环,进行下一次循环,所在的循环体未结束

return 终止函数执行

for (let i = 0; i < 5; i++) {
    if (i == 3) break;
    console.log("The number is " + i);
    /* 只输出 0 , 1 , 2 , 到3就跳出循环了 */
}
for (let i = 0; i <= 5; i++) {
    if (i == 3) continue;
    console.log("The number is " + i);
    /* 不输出3,因为continue跳过了,直接进入下一次循环 */
}
2.遍历方法

假数据

const temporaryArray = [6,2,3,4,5,1,1,2,3,4,5];
const objectArray = [
    {
        id: 1,
        name: "d"
    }, {
        id: 2,
        name: "d"
    }, {
        id: 3,
        name: "c"
    }, {
        id: 1,
        name: "a"
    }
];
const temporaryObject = {
    a: 1,
    b: 2,
    c: 3,
    d: 4,
};
const length = temporaryArray.length;

普通for循环遍历

for(let i = 0; i < length; i++) {
    console.log(temporaryArray[i]);
}

for in 循环

/* for in 循环主要用于遍历普通对象,
* 当用它来遍历数组时候,也能达到同样的效果,
* 但是这是有风险的,因为 i 输出为字符串形式,而不是数组需要的数字下标,
* 这意味着在某些情况下,会发生字符串运算,导致数据错误
* */
for(let i in temporaryObject) {
    /* hasOwnProperty只加载自身属性 */
    if(temporaryObject.hasOwnProperty(i)) {
        console.log(temporaryObject[i]);
    }
}

for of 循环,用于遍历可迭代的对象

for(let i of temporaryArray) {
    console.log(i);
}

forEach 第一个值为数组当前索引的值,第二个为索引值,只能遍历数组,无返回值,也无法跳出循环

let a = temporaryArray.forEach(function(item, index) {
    console.log(index, item);
});

map 返回新数组,只能遍历数组

temporaryArray.map(function(item) {
    console.log(item);
});

filter 是数组的内置对象,不改变原数组,有返回值

temporaryArray.filter(function(item) {
    console.log(item%2 == 0);
});

some判断是否有符合的值

let newArray = temporaryArray.some(function(item) {
    return item > 1;
});
console.log(newArray);

every判断数组里的值是否全部符合条件

let newArray1 = temporaryArray.every(function(item) {
    return item > 6;
});
console.log(newArray1);

reduce(function(accumulator, currentValue, currentIndex, array) {}, initValue)

accumulator:初始值或者累加计算结束后的返回值, currentValue遍历时的当前元素值,currentIndex当前索引值,array当前数组
initValue为初始值,若不添加参数initValue,则accumulator为当前数组的第一个元素值,若添加,则accumulator为initValue值,累加器accumulator从initValue开始运算
let temporaryObject3 = {};
let newArray2 = objectArray.reduce(function(countArray, currentValue) {
    /* 利用temporaryObject3里存放id来判断原数组里的对象是否相同,若id相同,则继续下一步,不同则将该对象放入新数组中
     * 则countArray为去重后的数组
      * */
    temporaryObject3[currentValue.id] ? "" : temporaryObject3[currentValue.id] = true && countArray.push(currentValue);
    return countArray;
}, []);
console.log(newArray2);
正在努力学习中,若对你的学习有帮助,留下你的印记呗(点个赞咯^_^)

往期好文推荐:

判断ios和Android及PC端

实现文字的省略号

css实现波浪线及立方体

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/98672.html

相关文章

  • 二叉树遍历

    摘要:前言本篇文章是在二叉排序树的基础上进行遍历查找与删除结点。接下来我们根据构造的这颗二叉树进行相应遍历查找与删除操作。遍历二叉树二叉树的遍历分为深度优先遍历和广度优先遍历。中序遍历二叉排序树,得到的数组是有序的且是升序的。 前言 本篇文章是在二叉排序树的基础上进行遍历、查找、与删除结点。 那么首先来看一下什么是二叉排序树? 二叉排序树 定义 二叉排序树,又称二叉查找树、二叉搜索树。 若...

    aboutU 评论0 收藏0
  • 【ES6脚丫系列】遍历器iterator

    摘要:就称为部署了遍历器接口。是一个函数,调用它会生成一个遍历器对象。它的属性,也是一个遍历器对象生成函数,执行后返回它自己。返回遍历器对象。下面是一个无限运行的遍历器对象的例子。 『ES6知识点总结』遍历器iterator本文内容如下: 1 具有iterator接口的数据结构 2 遍历器过程 3 遍历器作用: 4 模拟next()方法 5 使用while循环 6 TypeScript的写法...

    keke 评论0 收藏0
  • 异步发展流程 —— Generators + co 让异步更优雅

    摘要:遍历器原有的表示集合的数据结构,主要有和,在中又加入了和,这样就有了四种数据集合,还可以组合使用它们,如数组的成员是或,这样就需要一种统一的接口机制,用来处理所有不同的数据结构。 showImg(https://segmentfault.com/img/remote/1460000018998438?w=900&h=431); 阅读原文 Generators 简介 Generato...

    dingda 评论0 收藏0
  • 二叉树遍历问题

    摘要:已知中序遍历和后序遍历中序遍历后序遍历根据中序和后序遍历确定二叉树,跟上面的方法类似,不过这次是根据后序遍历确定根节点,根据中序遍历确定左右子树。 二叉树的遍历 一、遍历方法 三种遍历方法,很好记,什么时候访问根节点就叫什么方法。如:先序遍历,肯定就是先访问根节点;中序遍历,就是中间访问根节点;后序遍历就是最后访问根节点。 1、先序遍历:首先访问根节点,然后先序遍历左子树,最后先序遍历...

    missonce 评论0 收藏0
  • ECMAScript6(14):iterator 迭代器

    摘要:由于中引入了许多数据结构算上原有的包括等等数组需要一个东西来管理他们这就是遍历器。数组默认遍历器遍历值相当于依次输出依次输出依次输出依次输出不难看出默认得到值而只能得到索引。即遍历器的本质就是一个指针。 由于 ES6 中引入了许多数据结构, 算上原有的包括Object, Array, TypedArray, DataView, buffer, Map, WeakMap, Set, We...

    toddmark 评论0 收藏0
  • JavaScript 中遍历方法小结

    摘要:遍历方法小结常用的遍历方法遍历对数组的每个元素执行一次提供的函数创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果遍历大家都熟悉,所以重点讲一下与的区别相同点回调函数参数相同,都自带三个属性均不会修改原数组第二参数的 遍历方法小结 常用的遍历方法 for 遍历 forEach(对数组的每个元素执行一次提供的函数) map(创建一个新数组,其结果是该数组中的每个...

    flyer_dev 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<