一:filter(),map(),sort(),reduce()的使用

const inventors = [{ first: 'Albert', last: 'Einstein', year: 1879, passed: 1955 },{ first: 'Isaac', last: 'Newton', year: 1643, passed: 1727 },{ first: 'Galileo', last: 'Galilei', year: 1564, passed: 1642 },{ first: 'Marie', last: 'Curie', year: 1867, passed: 1934 },{ first: 'Johannes', last: 'Kepler', year: 1571, passed: 1630 },{ first: 'Nicolaus', last: 'Copernicus', year: 1473, passed: 1543 },{ first: 'Max', last: 'Planck', year: 1858, passed: 1947 },{ first: 'Katherine', last: 'Blodgett', year: 1898, passed: 1979 },{ first: 'Ada', last: 'Lovelace', year: 1815, passed: 1852 },{ first: 'Sarah E.', last: 'Goode', year: 1855, passed: 1905 },{ first: 'Lise', last: 'Meitner', year: 1878, passed: 1968 },{ first: 'Hanna', last: 'Hammarström', year: 1829, passed: 1909 }];
const people = ['Bernhard, Sandra', 'Bethea, Erin', 'Becker, Carl', 'Bentsen, Lloyd', 'Beckett, Samuel', 'Blake, William', 'Berger, Ric', 'Beddoes, Mick', 'Beethoven, Ludwig','Belloc, Hilaire', 'Begin, Menachem', 'Bellow, Saul', 'Benchley, Robert', 'Blair, Robert', 'Benenson, Peter', 'Benjamin, Walter', 'Berlin, Irving','Benn, Tony', 'Benson, Leana', 'Bent, Silas', 'Berle, Milton', 'Berry, Halle', 'Biko, Steve', 'Beck, Glenn', 'Bergman, Ingmar', 'Black, Elk', 'Berio, Luciano','Berne, Eric', 'Berra, Yogi', 'Berry, Wendell', 'Bevan, Aneurin', 'Ben-Gurion, David', 'Bevel, Ken', 'Biden, Joseph', 'Bennington, Chester', 'Bierce, Ambrose','Billings, Josh', 'Birrell, Augustine', 'Blair, Tony', 'Beecher, Henry', 'Biondo, Frank'];

// Array.prototype.filter()

// 1. Filter the list of inventors for those who were born in the 1500's

 const fifteen = inventors.filter(inventor => inventor.year >=1500 && inventor.year <=1600);console.log(fifteen);

// Array.prototype.map()

// 2. Give us an array of the inventors first and last names

      const Name = inventors.map(inventor => inventor.first + " " + inventor.last);

// Array.prototype.sort()

// 3. Sort the inventors by birthdate, oldest to youngest

const birth = inventors.sort((a,b) => a.year > b.year ? 1 : -1);

// Array.prototype.reduce()

// 4. How many years did all the inventors live all together?

      const Age_total = inventors.reduce((prev,cur) =>  {return prev + cur.passed - cur.year},0);

// 5. Sort the inventors by years lived

      const sortAge = inventors.sort((a,b) => (a.passed - a.year)>(b.passed - b.year)? 1 : -1);

// 6. sort Exercise

// Sort the people alphabetically by last name

const alpha = people.sort((prePeople,nextPeople) => {const [aLast,aFirst] = prePeople.split(", ");const [bLast,bFirst] = nextPeople.split(", ");return aLast > bLast ? 1: -1;})

// 7. 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' ];

const times = data.reduce((pre,cur) => {if(cur in pre)pre[cur]++;elsepre[cur] = 1;return pre},{})

第4题,第7题initialValue选择不同,第四题中为0,第七题中为{};!!!

二:some(),every(),find(),findIndex()

const people = [{ name: 'Wes', year: 1988 },{ name: 'Kait', year: 1986 },{ name: 'Irv', year: 1970 },{ name: 'Lux', year: 2015 }];
const comments = [{ text: 'Love this!', id: 523423 },{ text: 'Super good', id: 823423 },{ text: 'You are the best', id: 2039842 },{ text: 'Ramen is my fav food ever', id: 123523 },{ text: 'Nice Nice Nice!', id: 542328 }];

// Some and Every Checks

// Array.prototype.some() // is at least one person 19 or older?

// Array.prototype.every() // is everyone 19 or older?

 const some_19 = people.some(person =>((new Date()).getFullYear() - person.year >= 19 ) )console.log({some_19})const every_19 = people.every(person =>((new Date()).getFullYear() - person.year >= 19 ) )console.log({every_19})

// Array.prototype.find()

// Find is like filter, but instead returns just the one you are looking for

// find the comment with the ID of 823423

const find_id = comments.find(comment => comment.id === 823423);console.log(find_id);

// Array.prototype.findIndex()

// Find the comment with this ID

// delete the comment with the ID of 823423

1.使用slice()方法

const index = comments.findIndex(comment => comment.id === 823423)const newArray = [...comments.slice(0,index),...comments.slice(index+1)]console.table(newArray)

数组前...的作用:

当newArray如下:

故我认为是把数组slice后生成的新数组变成元素。

2.使用splice()方法

const index = comments.findIndex(comment => comment.id === 823423)comments.splice(index,1)console.table(comments)

JavaScript中与Array有关的操作相关推荐

  1. 广州蓝景分享—前端开发JavaScript中的Array对象与其他数组

    各位小伙伴好,今天我们广州蓝景与大家分享一些前端技术知识. JavaScript中的Array对象与其他编程语言中的数组一样,可以将多个项目的集合存储在单个变量名下,并具有用于执行常见数组操作的成员. ...

  2. 详解Javascript中的Array对象

    本文地址:http://luopq.com/2016/04/01/Array-in-Javascript/,转载请注明 在上一篇文章中,我们详细介绍了Object对象.在这一篇文章中,我们来说说Arr ...

  3. [转] 理解 JavaScript 中的 Array.prototype.slice.apply(arguments)

    假如你是一个 JavaScript 开发者,你可能见到过 Array.prototype.slice.apply(arguments) 这样的用法,然后你会问,这么写是什么意思呢? 这个语法其实不难理 ...

  4. JavaScript中的几种计时操作

    系列文章目录 例如:第一章 Python 机器学习入门之pandas的使用 文章目录 系列文章目录 前言 一.JavaScript中的两种常用计时函数 二.详细代码 1.一次性计时器setTimeou ...

  5. JavaScript中的元素获取与操作

    js元素获取与操作 可以使用内置对象document上的getElementById方法来获取页面上设置了id属性的元素,获取到的是一个html对象,然后将它赋值给一个变量,比如: <scrip ...

  6. c++ 数组截取_【学习教程】JavaScript中原生Array数组方法详解

    来源 | http://www.fly63.com/article/detial/9692 JS中,数组可以通过阵列构造函数或[]字面量的方式创建.数组是一个特殊的对象,继承自对象原型,但用typeo ...

  7. JavaScript中原生Array数组方法详解

    JS中,数组可以通过阵列构造函数或[]字面量的方式创建.数组是一个特殊的对象,继承自对象原型,但用typeof运算判断时,并没有一个特定的值,仍然返回'对象'.但使用[] instanceof Arr ...

  8. Javascript中关于Array.filter()的妙用详解

    强烈推荐30个原生JavaScript的demo,包括canvas时钟特效.自定义视频播放器.搜索栏快速匹配.fetch访问资源.console调试技巧等,先fork后学习,详见点击打开链接,欢迎点赞 ...

  9. JavaScript中的Array对象

    1.创建Array对象 创建Array对象的语法 var 数组名 = new Array(); 定义数组之后.就须要向数组中加入元素.格式例如以下 数组名[<下标>]=值: 2.Array ...

最新文章

  1. centos6.9安装Tomcat8.0.36
  2. android网页打开摄像头,在android上,用WEB页面打开手机摄像头
  3. Linux服务器集群系统(二)—— LVS的IP负载均衡技术
  4. 当我们年轻的时候 (转贴)
  5. HTH的完整形式是什么?
  6. phpredis -- Redis编译安装,PHP 7 安装 Redis 扩展
  7. 3.8 RIPv2的认证机制
  8. 目前人们把通用计算机,计算机与信息社会基础知识测试题.doc
  9. 【python数据处理】替代Excel三维地图依据经纬度坐标的绘制热力地图的方式
  10. [AngularJS] 插件ui-grid使用说明
  11. 软件供应链安全现状分析与对策建议
  12. 非参数统计吴喜之_SPSS混合线性模型在生物医药统计中的应用与操作——【杏花开生物医药统计】...
  13. 微信公众号推送模板消息,推送个人消息,给指定的人发送模板消息
  14. windows环境下使用bitvise搭建ssh server
  15. Hive SQL之表与建表
  16. 推销计算机英语作文,2018年12月英语四级作文范文:卖电脑
  17. 2021清北学堂储备营Day1
  18. PPT图标标签显示带误差的百分比格式
  19. STMF103定时器
  20. 不会 Python 没关系,手把手教你用 web scraper 抓取豆瓣电影 top 250 和 b 站排行榜

热门文章

  1. matlab定义未知大小矩阵,MATLAB中未知长度的矩阵?
  2. iPhone 电池的正确激活与使用方式
  3. codables一种更好的方式快速解析数据
  4. Sicily 1466. Taunt Exposure Estimation
  5. 简单粗暴地理解动态规划
  6. 干了这碗鸡汤!“机器人版 Linux”ROS崛起背后的隐秘故事大揭秘
  7. 平面空间的元素和部分3d空间的元素
  8. 怎样在苹果Mac上删除APFS卷?
  9. 说一点学习python的心得
  10. JAVA --数字与字符串(四)格式化输出