[ES6] Array -- Destructuring and Rest Parameters && for ..of && Arrat.find()

时间:2022-03-14 09:02:55

We can use the destructing and rest parameters at the same time when dealing with Array opration.

Example 1:

let [first, ...remainingUsers] = ["Sam", "Tyler", "*"];
addActiveUsers(first, remainingUsers); // "Sam", ["Tyler", "*"]

Example 2:

function buildTopicInfo(topic){
let title = `<h1>${topic.title}</h1>`;
let author = `<small>${topic.author}<small>`; return [title, author];
} let topic = getCurrentTopic();
let [topicTitle, topicAuthor] = buildTopicInfo(topic);

Example 4:

let topicId = currentTopic();
let activeUsers = ["Sam", "Tyler", "*"]; for( let user of activeUsers ){
notifyTopicReply(topicId, user);
}
  • for...of can only apply on the intereable object, like array, but not object
  • [ES6] Array -- Destructuring and Rest Parameters && for ..of && Arrat.find()

Example 5:

This code will report an type error, because for ... of can not be used for object.

let topicInfo = {
title: "New Features in JS",
replies: 19,
lastReplyFrom: "Tyler"
}; for(let [k, v] of topicInfo){
console.log(`${k} - ${v}`);
}

Example 6: Array.find()

let recentTopics = [
{
title: "Semi-colons: Good or Bad?",
isLocked: true
},
{
title: "New JavaScript Framework Released",
isLocked: true
},
{
title: "ES2015 - The Shape of JavaScript to Come",
isLocked: false
}
]; recentTopics.find( (topic)=> !topic.isLocked)

[ES6] Array -- Destructuring and Rest Parameters && for ..of && Arrat.find()的更多相关文章

  1. vue&period;js 进行初始化遇到的关于core-js的错误&commat;core-js&sol;modules&sol;es6&period;array&period;find-index&rsqb;

    D:\vuejselement\workSpace\zutnlp_platform_show>cnpm install --save core-js/modules/es6.array.find ...

  2. es5&vert;&vert;es6 - array

    导航目录 /** * javascript - array * * ES5: * join() * push() * pop() * shift() * unshift() * sort() * re ...

  3. es6 Array&period;from &plus; new Set 去重复

    // es6 set数据结构 生成一个数据集 里面的元素是唯一的 const items = new Set([1, 2, 3, 4, 5, 5, 5, 5]); // items 是个对象 item ...

  4. &lbrack;ES6&rsqb; 09&period; Destructuring Assignment -- 2

    Read More: http://es6.ruanyifeng.com/#docs/destructuring Array “模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值: Ex ...

  5. &lbrack;ES6&rsqb; Array&period;findIndex&lpar;&rpar;

    In es5, you can use indexOf to get the index of one item in an array. In es6, you can use findIndex( ...

  6. IE 浏览器不支持 ES6 Array&period;from&lpar;new Set&lpar; &rpar;&rpar; SCRIPT438&colon; 对象不支持&OpenCurlyDoubleQuote;from”属性

    [转]解决老浏览器不支持ES6的方法 现象: Array.from(new Set( )) SCRIPT438: 对象不支持“from”属性或方法   解决方法: 安装babel 引入browser. ...

  7. &lbrack;ES6&rsqb; 08&period; Destructuring Assignment -- 1

    Here is the way you get value from an object: var obj = { color: "blue" } console.log(obj. ...

  8. es6 - array for-chrome

    // 去重复 Array.from(new Set([1, 1, 2, 3])); // [1, 2, 3] console.log(Array.from(new Set([1, 1, 2, 3])) ...

  9. 解决低版本chrome浏览器不支持es6 Array&period;find&lpar;&rpar;

     if (!Array.prototype.find) {  Array.prototype.find = function(predicate) {    'use strict';    if ( ...

随机推荐

  1. 国产方法论之 ReDoIt -- 惟思捷

    最近上了PMP课程,感觉受益匪浅,思路有被打开. 很同意一个观点“国人很擅长做事,但是不擅长总结出解决问题的通用框架和方法论”. 为了能提高中小企业生产力我最近成了一个小的软件咨询公司取名“惟思捷”, ...

  2. JQuery常用方法一览

    $(”p”).addClass(css中定义的样式类型); 给某个元素添加样式 $(”img”).attr({src:”test.jpg”,alt:”test Image”}); 给某个元素添加属性/ ...

  3. 机器学习&amp&semi;数据挖掘笔记&lowbar;25(PGM练习九:HMM用于分类)

    前言: 本次实验是用EM来学习HMM中的参数,并用学好了的HMM对一些kinect数据进行动作分类.实验内容请参考coursera课程:Probabilistic Graphical Models 中 ...

  4. POJ3321 Apple Tree&lpar;树状数组&rpar;

    先做一次dfs求得每个节点为根的子树在树状数组中编号的起始值和结束值,再树状数组做区间查询 与单点更新. #include<cstdio> #include<iostream> ...

  5. 多个&dollar;&lpar;document&rpar;&period;ready&lpar;&rpar;函数的执行顺序问题,(未解决)

    今天遇到了一个问题: jQuery获取不了动态添加的元素,我使用的是append添加的.寻求了帮助,得到解决方案: 在文件开头写上这样一段代码来获取,写在$(document).ready()里面. ...

  6. JavaScript调试技巧之console&period;log&lpar;&rpar;详解

    JavaScript调试技巧之console.log()详解 对于JavaScript程序的调试,相比于alert(),使用console.log()是一种更好的方式,原因在于:alert()函数会阻 ...

  7. jprofiler安装图解及破解码

    原文:http://blog.csdn.net/lifuxiangcaohui/article/details/38677889 环境: 1.sun jdk1.6.0 2.jprofiler_wind ...

  8. GlusterFS创建volume失败的解决方法(&ast; or a prefix of it is already part of a volume)

    问题描写叙述: 之前已经创建了一个replicated的volume gv0,replica=2,两个文件夹为:/test/data1和/test/data2,之后发现这两个文件夹不太合适,想在/te ...

  9. 转摘:常用ubuntu 关机,重启,注销命令

    1.关机命令 shutdown 好像ubuntu的终端中默认的是当前用户的命令,只是普通用户,因此在终端器中可以使用sudo -sh 转换到管理员root用户下执行命令. 1).shutdown –h ...

  10. 201521123017 《Java程序设计》第7周学习总结

    1. 本周学习总结 2. 书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 1.2 解释E remove(int index)源代码 1.3 结合1. ...