zoukankan      html  css  js  c++  java
  • js学习笔记(五)

    今日笔记

    JavaScript

    JavaScript 的迭代方法 iterator

    .forEach()

    属于array数组的方法,将对数组中的每一个元素进行操作.

    let animals = ['dog','cat','birds','mouse']
    animals.forEach(function(param){
        console.log('animal is '+param); //每一个数组中的item作为实参传入函数中,循环计算
    })
    //.forEach()方法返回undefined

    .map()

    array中元素进行操作后返回操作后的值,类似于定义一个新的函数表达式,并将表达式在数组元素上循环执行。

    let animals = ['dog','cat','birds','mouse']
    newAnimals = animals.map( param => param+'_new') //箭头表达式函数体为表达式省略return,单行省略括号花括号。返回新的array

    .filter()

    同样是对于数组中元素进行循环处理,但函数体重包含的是对元素处理的条件,返回满足条件的值。

    let animals = ['dog','cat','birds','mouse']
    newAnimals = animals.filter( (param) => {
    return param.length>3; 
    })  //返回新的array

    .every(),.some()

    • every 方法用于判断是否数组中每一个元素都满足函数中所描述的条件;
    • some()方法用于判断是否数组中至少有一个元素满足函数中所描述条件;
      都返回布尔值
    //一些例子,ref: codecademy.com
    let cities = ['beijing', 'shanghai', 'hanzhou', 'suzhou', 'nanjing'];
    
    let nums = [1, 20, 30, 35, 40, 55, 100];
    
    //  .forEach()返回值是undefined
    cities.forEach(city => console.log('Have you visited ' + city + '?'));
    
    // 迭代运算并根据函数中的条件 返回 new array
    let longCities = cities.filter(city => city.length > 7);
    
    // 迭代运算每一个元素,并返回运算后结果new array
    let smallerNums = nums.map(num => num - 5);
    
    // test每一个元素是否满足条件,some()——某一个
    nums.every(num => num < 0);





    tips
    1.定义函数时函数表达式function(params)和箭头表达式(params)=>等价

    fruits.forEach(param => {console.log('I want to eat a '+param)})   //箭头表达(param)=>等价于函数关键字
    fruits.forEach(function(param){console.log('I want to eat a',param)} )   //函数关键字function(params)

    2.箭头函数的如果函数体为表达式可省略return

    (param1, param2, …, paramN) => { statements }
    (param1, param2, …, paramN) => expression
    // equivalent to: (param1, param2, …, paramN) => { return expression; }

  • 相关阅读:
    python中将汉字转换成拼音
    关于拉格朗日和内维尔插值算法的python实现
    hdoj1874 (优先队列+Dijkstra)
    hdoj1325 Is It A Tree?
    poj2299 二分思想
    nyoj89 汉诺塔(二)
    nyoj914Yougth的最大化(二分搜索 + 贪心)
    nyoj832 合并游戏(状态压缩DP)
    zoj2432 hdoj1423 最长公共上升子序列(LCIS)
    poj1308 Is It A Tree?(并查集)详解
  • 原文地址:https://www.cnblogs.com/Tom-Ren/p/9897847.html
Copyright © 2011-2022 走看看