Travase Objects and four method of array
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
var iterableObj = {
"lastName":'luo',
"firstName":'xu',
"age":19
}
let keys = Object.keys(iterableObj); //return array of keys in the iterableObj
// console.log(keys) //Array(3) [ "lastName", "firstName", "age" ]
let vals = Object.values(iterableObj);
//console.log(vals) //["luo","xu",19]
let entries = Object.entries(iterableObj)
//console.log(entries) //[["lastName", "luo"],[ "firstName", "xu"],["age", 19]] 2-D arrays
const companies = [ //array
{name: "Company One", category: "Finance", start: 1981, end: 2003}, //object
{name: "Company Two", category: "Retail", start: 1992, end: 2008},
{name: "Company Three", category: "Auto", start: 1999, end: 2007},
{name: "Company Four", category: "Retail", start: 1989, end: 2010},
{name: "Company Five", category: "Technology", start: 2009, end: 2014},
{name: "Company Six", category: "Finance", start: 1987, end: 2010},
{name: "Company Seven", category: "Auto", start: 1986, end: 1996},
{name: "Company Eight", category: "Technology", start: 2011, end: 2016},
{name: "Company Nine", category: "Retail", start: 1981, end: 1989}
];
const ages = [33, 12, 20, 16, 5, 54, 21, 44, 61, 13, 15, 45, 25, 64, 32];
//1. forEach()
for (let i = 0; i < companies.length; i++){
// console.log(companies[1]);
}
companies.forEach(function (company, index , companies) { //we can pass 2 params
// console.log(company);
});
//2. filter()
//store the person'age over 21, who can drink
var canDrink = [];
for (let i=0; i< ages.length ; i++){
if (ages[i] >= 21){
canDrink.push(ages[i]);
}
}
canDrink = ages.filter(function (age) {
if (age >= 21){
return true;
}
});
canDrink = ages.filter(age => age >=21);
console.log(canDrink);
//get companies that lasted ten years or more
const lastedTenYears = companies.filter((company, index) => (company.end - company.start >=10));
console.log(lastedTenYears);
//3. map()
var testMap = companies.map(function (company,index ) {
return company.name;
}); //Array(9) [ "Company One", "Company Two", "Company Three", "Company Four", "Company Five", "Company Six", "Company Seven", "Company Eight", "Company Nine" ]
testMap = companies.map(function (company ) {
return `${company.name } [${company.end} - ${company.start}]`;
}) //Array(9) [ "Company One [2003 - 1981]", "Company Two [2008 - 1992]", "Company Three [2007 - 1999]", "Company Four [2010 - 1989]", "Company Five [2014 - 2009]", "Company Six [2010 - 1987]", "Company Seven [1996 - 1986]", "Company Eight [2016 - 2011]", "Company Nine [1989 - 1981]" ]
console.log(testMap)
//4. sort()
//sort by start year
var sorted = companies.sort(function (a,b ) {
if (a.start > b.start){
return 1;
}else {
return -1;
}
});
sorted = companies.sort((a,b) => a >b ? 1 : -1);
//sort ages
sorted =ages.sort((a,b) => a-b);
console.log(sorted);
//5. reduce()
var total = ages.reduce(function (total, age) {
return total+age;
});
total = ages.reduce((total, age) => total +age);
console.log(total);
</script>
</body>
</html>
Travase Objects and four method of array的更多相关文章
- Why does typeof array with objects return “Object” and not “Array”?
https://stackoverflow.com/questions/4775722/check-if-object-is-an-array One of the weird behaviour a ...
- OBJC运行时方法替换(Method swizzling)
在上周associated objects一文中,我们开始探索Objective-C运行时的一些黑魔法.本周我们继续前行,来讨论可能是最受争议的运行时技术:method swizzling. Me ...
- iOS 判断数组array中是否包含元素a,取出a在array中的下标+数组方法详解
目前找到来4个解决办法,第三个尤为简单方便 NSArray * arr = @["]; //是否包含 "]) { NSInteger index = [arr indexOfObj ...
- JavaScript : Array assignment creates reference not copy
JavaScript : Array assignment creates reference not copy 29 May 2015 Consider we have an array var a ...
- matlab中cell array的理解
1. matlab中有一个函数iscell() 用于判断一个数组是不是cell array 参考:MATLAB Function Reference iscell Determine whether ...
- JavaScript Array.map
Array.prototype.map() History Edit This article is in need of a technical review. Table of Contents ...
- Design Pattern ->Factory Method
Layering & Contract Philosophy With additional indirection Factory Method The example code is as ...
- JavaScript 中Array数组的几个内置函数
本文章内容均参考<JavaScript高级程序设计第三版> 今天在看JavaScript书籍的时候,看到之前没有了解过的JavaScript中Array的几个内置函数对象,为了之后再开发工 ...
- ios method swizzling
阅读器 iOS开发iOS 本文由TracyYih[博客]翻译自NSHipster的文章Method Swizzling. 在上周associated objects一文中,我们开始探索Ob ...
随机推荐
- 曹工说Spring Boot源码(15)-- Spring从xml文件里到底得到了什么(context:load-time-weaver 完整解析)
写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean ...
- 奇葩报错0xc0000142
电脑突然蓝屏了一次,后来软件就打不开了,显示无法启动 网上找了一下说估计是蓝屏出现了一些问题注册表信息被删了,让输入命令重新加载一回注册表信息 for %1 in (%windir%\system32 ...
- C++ ABI之名字改编(以Qt为例)
在C++中,由于重载等技术的存在,编译器要将函数.结构体.类等等的信息传递给链接器,就不能像C语言那样简单地通过函数名来完成,它需要提供额外的参数信息,而还要和C语言共用链接器,这就需要用到名字改编( ...
- 把"重试"抽象出来做个工具类吧
背景介绍 我们在工作中难免会写一些重复性的代码,所以需要我们具备一定的抽象能力,比如把共同的逻辑抽取到抽象类中,也可以通过一些工具类来避免冗余代码 今天这篇文章就是把一个调用服务的重试功能抽取出一个工 ...
- [python之路]简单介绍
python介绍 #python是一个什么样的语言?编译型和解释型静态语言和动态语言强类型定义语言和弱类型定义语言python是一门动态解释性的强类型定义语言. #Python的优缺点##优点Pyth ...
- angularJS 格式化日期 转载
angularjs中的filter(过滤器)——格式化日期的date 标签: filterangularjsdate http://blog.csdn.net/smile_panda/article/ ...
- 一个工程中cpp文件的编译顺序
做了一个实验. 最后build失败,失败的原因是变量i被重定义了.原本按照我的思路,是不应该失败的.因为我用了条件编译,若先编译Source.cpp,则会#define __HEADER_H__并且定 ...
- Python Namespace - 命名空间
命名空间 命名空间 namespace 对 python 来说是一个非常核心的概念,整个 python 虚拟机运行的机制与 namespace 概念有这非常紧密的联系. 从'赋值'说起, python ...
- iRedmail的php由5.4升级到5.6
安装ireadmail时,自带的php是5.4,打算升级到5.6. 升级前注意备份原来的/etc/php-fpm.d下的www.conf,文件内容如下: [inet] user = nginx gro ...
- 【机器学习】算法原理详细推导与实现(六):k-means算法
[机器学习]算法原理详细推导与实现(六):k-means算法 之前几个章节都是介绍有监督学习,这个章解介绍无监督学习,这是一个被称为k-means的聚类算法,也叫做k均值聚类算法. 聚类算法 在讲监督 ...