JS一些语法练习总结,持续更新ing

  • Array.prototype.reduce()
    • 官方说法:reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。
    • 统计数组中的出现内容的数量并输出
    • 扁平化一个二维数组
    • 求和等操作都可以进行
    • 一点感想reduce用来累加统计都是蛮方便,还可以确定初始值,初始类型等,而且可以记录很多值
      1. 累加器累加回调的返回值;
      2. 数组中正在处理的元素
      3. 数组中正在处理的当前元素的索引
      4. 调用reduce的数组
      5. [可选] 用作第一个调用 callback的第一个参数的值。如果没有提供初始值,则将使用数组中的第一个元素。 在没有初始值的空数组上调用 reduce 将报错
   let  flattened = [[0, 1], [2, 3], [4, 5]].reduce((a,b)=>a.concat(b), []);
   console.log(flattened);//[0,1,2,3,4,5]
// Reduce Exercise
// Sum up the instances of each of these
   const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van',
       'bike', 'walk', 'car', 'van', 'car', 'truck'];
   let dataObj = data.reduce((pre, cur) => {
       if (pre.hasOwnProperty(cur) !== true) {
           pre[cur] = 1;
       } else {
           pre[cur]++;
       }
       return pre;
   }, {});
   console.log(dataObj);
//{car: 5, truck: 3, bike: 2, walk: 2, van: 2}
  • object的遍历entries,keys,values
    • 首先使用的时候可以先let {entries,keys,values} = Object;
    • 然后就可以放心大胆的使用了~ entries(XXX),keys(XXX)……等等
    • 当然注意的是node 6.12以下不支持 Object.entries静态方法,被坑了蛮久的Orz,一直以为是自己语法写错了,原来Orz
  • Array.prototype.map()
  • Array.prototype.filter()
  • Array.prototype.some()
  • Array.prototype.every()
  • Array.prototype.find()
    Array.prototype.findIndex()
  • hasOwnProperty()
    该方法只能判断自有属性是否存在,对于继承属性会返回false。
  • concat()
    方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • js API1.全局对象NAN 非数字值的特殊值infinity 代表正无穷的数据undefined 2.函数属性...
    Aa刘德健阅读 1,668评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,268评论 19 139
  • 第三章 类型、值和变量 1、存取字符串、数字或布尔值的属性时创建的临时对象称做包装对象,它只是偶尔用来区分字符串值...
    坤少卡卡阅读 670评论 0 1
  • 合理膳食 有益健康 为了解决中老年人膳食过于精细的问题,学会科学合理的搭配食用粗粮,根据人体健康必须的营养标准和当...
    米克先生阅读 460评论 0 0
  • 每个月总有那么几次,微信的那个头像上会冒出一颗小红点,我知道,一场尬聊又要开始了。 她是我的大学同学,毕业后在一家...
    名真好取阅读 212评论 0 0