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

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

 

Example 1:

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

 

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", "Brook"];

for( let user of activeUsers ){
  notifyTopicReply(topicId,  user);
}
  • for...of can only apply on the intereable object, like array, but not object

 

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)
复制代码

 

posted @   Zhentiw  阅读(392)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2015-01-04 [AngularJS] Lazy Loading modules with ui-router and ocLazyLoad
2015-01-04 [AngularJS] Lazy loading Angular modules with ocLazyLoad
2015-01-04 [AngularJS] Consistency between ui-router states and Angular directives
点击右上角即可分享
微信分享提示