JavaScript中与Array有关的操作
一: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有关的操作相关推荐
- 广州蓝景分享—前端开发JavaScript中的Array对象与其他数组
各位小伙伴好,今天我们广州蓝景与大家分享一些前端技术知识. JavaScript中的Array对象与其他编程语言中的数组一样,可以将多个项目的集合存储在单个变量名下,并具有用于执行常见数组操作的成员. ...
- 详解Javascript中的Array对象
本文地址:http://luopq.com/2016/04/01/Array-in-Javascript/,转载请注明 在上一篇文章中,我们详细介绍了Object对象.在这一篇文章中,我们来说说Arr ...
- [转] 理解 JavaScript 中的 Array.prototype.slice.apply(arguments)
假如你是一个 JavaScript 开发者,你可能见到过 Array.prototype.slice.apply(arguments) 这样的用法,然后你会问,这么写是什么意思呢? 这个语法其实不难理 ...
- JavaScript中的几种计时操作
系列文章目录 例如:第一章 Python 机器学习入门之pandas的使用 文章目录 系列文章目录 前言 一.JavaScript中的两种常用计时函数 二.详细代码 1.一次性计时器setTimeou ...
- JavaScript中的元素获取与操作
js元素获取与操作 可以使用内置对象document上的getElementById方法来获取页面上设置了id属性的元素,获取到的是一个html对象,然后将它赋值给一个变量,比如: <scrip ...
- c++ 数组截取_【学习教程】JavaScript中原生Array数组方法详解
来源 | http://www.fly63.com/article/detial/9692 JS中,数组可以通过阵列构造函数或[]字面量的方式创建.数组是一个特殊的对象,继承自对象原型,但用typeo ...
- JavaScript中原生Array数组方法详解
JS中,数组可以通过阵列构造函数或[]字面量的方式创建.数组是一个特殊的对象,继承自对象原型,但用typeof运算判断时,并没有一个特定的值,仍然返回'对象'.但使用[] instanceof Arr ...
- Javascript中关于Array.filter()的妙用详解
强烈推荐30个原生JavaScript的demo,包括canvas时钟特效.自定义视频播放器.搜索栏快速匹配.fetch访问资源.console调试技巧等,先fork后学习,详见点击打开链接,欢迎点赞 ...
- JavaScript中的Array对象
1.创建Array对象 创建Array对象的语法 var 数组名 = new Array(); 定义数组之后.就须要向数组中加入元素.格式例如以下 数组名[<下标>]=值: 2.Array ...
最新文章
- centos6.9安装Tomcat8.0.36
- android网页打开摄像头,在android上,用WEB页面打开手机摄像头
- Linux服务器集群系统(二)—— LVS的IP负载均衡技术
- 当我们年轻的时候 (转贴)
- HTH的完整形式是什么?
- phpredis -- Redis编译安装,PHP 7 安装 Redis 扩展
- 3.8 RIPv2的认证机制
- 目前人们把通用计算机,计算机与信息社会基础知识测试题.doc
- 【python数据处理】替代Excel三维地图依据经纬度坐标的绘制热力地图的方式
- [AngularJS] 插件ui-grid使用说明
- 软件供应链安全现状分析与对策建议
- 非参数统计吴喜之_SPSS混合线性模型在生物医药统计中的应用与操作——【杏花开生物医药统计】...
- 微信公众号推送模板消息,推送个人消息,给指定的人发送模板消息
- windows环境下使用bitvise搭建ssh server
- Hive SQL之表与建表
- 推销计算机英语作文,2018年12月英语四级作文范文:卖电脑
- 2021清北学堂储备营Day1
- PPT图标标签显示带误差的百分比格式
- STMF103定时器
- 不会 Python 没关系,手把手教你用 web scraper 抓取豆瓣电影 top 250 和 b 站排行榜