<!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的更多相关文章

  1. 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 ...

  2. OBJC运行时方法替换(Method swizzling)

    在上周associated objects一文中,我们开始探索Objective-C运行时的一些黑魔法.本周我们继续前行,来讨论可能是最受争议的运行时技术:method swizzling.   Me ...

  3. iOS 判断数组array中是否包含元素a,取出a在array中的下标+数组方法详解

    目前找到来4个解决办法,第三个尤为简单方便 NSArray * arr = @["]; //是否包含 "]) { NSInteger index = [arr indexOfObj ...

  4. JavaScript : Array assignment creates reference not copy

    JavaScript : Array assignment creates reference not copy 29 May 2015 Consider we have an array var a ...

  5. matlab中cell array的理解

    1. matlab中有一个函数iscell() 用于判断一个数组是不是cell array 参考:MATLAB Function Reference iscell Determine whether ...

  6. JavaScript Array.map

    Array.prototype.map() History Edit This article is in need of a technical review. Table of Contents ...

  7. Design Pattern ->Factory Method

    Layering & Contract Philosophy With additional indirection Factory Method The example code is as ...

  8. JavaScript 中Array数组的几个内置函数

    本文章内容均参考<JavaScript高级程序设计第三版> 今天在看JavaScript书籍的时候,看到之前没有了解过的JavaScript中Array的几个内置函数对象,为了之后再开发工 ...

  9. ios method swizzling

      阅读器 iOS开发iOS   本文由TracyYih[博客]翻译自NSHipster的文章Method Swizzling.   在上周associated objects一文中,我们开始探索Ob ...

随机推荐

  1. Linux 常用工具openssh之scp

    前言 scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器硬盘变为只读read  ...

  2. List容器排序方法的使用

    今天在做任务的时候需要对已经存到list容器里的对象数组进行排序,需要根据 其中的一个属性进行排序,最初是根据一个利用冒泡排序的算法进行处理的后来上网查了一下对于list容器进行排序时有自带的方法.所 ...

  3. 逆向番茄社区app的rsa加密方式

    Parse RSA public and private key pair from string in Java 逆向某APP,发现其大部分配置文件都是加密的 .所以逆向算法并解密 RSA和AES密 ...

  4. java工具类方法

    1.生成16位数字(当时日期时间加随机两位数) public static String getNo16() { String getNo = getNo(); return getNo.substr ...

  5. css-position:absolute, relative 的用法

      static(静态) 没有特别的设定,遵循基本的定位规定,不能通过z-index进行层次分级.就无法通过top,left ,bottom,right 定位.(static 为默认值)  relat ...

  6. HDU_5058_set

    http://acm.hdu.edu.cn/showproblem.php?pid=5058 set容器的使用,set中保持元素的唯一性和有序性. 也可以用排序加离散化来模拟. #include< ...

  7. Codeforces 1197E Count The Rectangles(树状数组+扫描线)

    题意: 给你n条平行于坐标轴的线,问你能组成多少个矩形,坐标绝对值均小于5000 保证线之间不会重合或者退化 思路: 从下到上扫描每一条纵坐标为y的水平的线,然后扫描所有竖直的线并标记与它相交的线,保 ...

  8. Android Studio 学习笔记(二):布局简介和xmlns说明

    初学Android Studio,是在b站看的教程视频,这里的笔记也是以其为基础的,个人强烈安利: [天哥]Android开发视频教程最新版 Android Studio开发 Android 布局简介 ...

  9. mybaitis的延迟加载

    概念:延迟加载:用到的时候才加载 因为我们在多表查询是,效率不如单表快,多个单表查询,然后使用懒加载,完成 多表关联查询 什么情况下使用懒加载 mybaitis中的表关系是一对一或者一对多的时候 我们 ...

  10. VFP9.0的GDI+类的使用

    GDI+你应该不会陌生吧,然而,在VFP里要使用这一技术,可不是一件容易的事,你得学习一大堆API函数.或许,一想到这,你已经望而却步了.不过,从现在起,这一技术不再是豪门旺族的专宠了,我们每一位Fo ...