当前位置: 首页 > news >正文

想要去国外网站买东西怎么做亚马逊雨林视频

想要去国外网站买东西怎么做,亚马逊雨林视频,建好的网站在哪里,附近网站电脑培训班文章目录 [TOC] 一道解构面试题题目运行结果 原理概念数组迭代器 答案答案(1)、在对象中添加一个数组迭代器1.使用临时数组添加迭代器2. 对象值输出结果3.使用Object.values(this);拿到对象的值 答案(2)、在对象原型上添加数组迭代器1.按步骤实现数组迭代器2. 简化步骤 答案(3)… 文章目录 [TOC] 一道解构面试题题目运行结果 原理概念数组迭代器 答案答案(1)、在对象中添加一个数组迭代器1.使用临时数组添加迭代器2. 对象值输出结果3.使用Object.values(this);拿到对象的值 答案(2)、在对象原型上添加数组迭代器1.按步骤实现数组迭代器2. 简化步骤 答案(3)、使用迭代器生成器 一道解构面试题 题目 //让下面的代码成立 var [a, b] { a:1, b: 2 };运行结果 类型错误{(intermediate value)(intermediate value)} is not iterable表示这个对象是不可迭代的。 var [a, b] { a:1, b: 2 };^TypeError: {(intermediate value)(intermediate value)} is not iterableat Object.anonymous (e:\Study\Web前端\√061.一道解构的面试题js\tempCodeRunnerFile.js:1:14)at Module._compile (node:internal/modules/cjs/loader:1155:14)at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)at Module.load (node:internal/modules/cjs/loader:1033:32)at Function.Module._load (node:internal/modules/cjs/loader:868:12)at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)at node:internal/main/run_main_module:22:47 原理 概念 解构的对象不一定是数组只要这个对象是可迭代的对象。数组本身就是一个可以迭代的对象。所以我们只有将{ a:1, b: 2 }变成可以迭代的对象就能解决这个问题。 在 JavaScript 中可迭代对象是指具有 Symbol.iterator 方法的对象。这个方法返回一个迭代器Iterator对象它通过 next() 方法提供对可迭代对象中的每个元素的访问。 除了数组还有一些其他的内置类型例如字符串、Set、Map等都是可迭代对象。此外自定义对象也可以实现可迭代接口使其成为可迭代对象。 {[Symbol.iterator]:function(){return 迭代器} }数组迭代器 下面以数组[1,2,3]作为示例了解可迭代的对象的规则 查看数组的Symbol.iterator类型[Function: values]表示是一个方法 代码 var arr [1,2,3]; console.log(arr[Symbol.iterator]);运行结果 [Function: values]查看数组的Symbol.iterator方法的返回值Object [Array Iterator] {}表示数组迭代器。 代码 var arr [1,2,3]; const iter arr[Symbol.iterator](); console.log(iter);运行结果 Object [Array Iterator] {}3.查看数组迭代器中的next类型[Function: next]表示方法。 代码 var arr [1,2,3]; const iter arr[Symbol.iterator](); console.log(iter.next);运行结果 [Function: next]4.使用迭代器的next()方法执行一次获取第1个结果{ value: 1, done: false } 代码 var arr [1,2,3]; const iter arr[Symbol.iterator](); console.log(iter.next());运行结果 { value: 1, done: false }5.使用迭代器的next()方法执行两次获取第1、2个结果{ value: 1, done: false } { value: 2, done: false } 代码 var arr [1,2,3]; const iter arr[Symbol.iterator](); console.log(iter.next()); console.log(iter.next());运行结果 { value: 1, done: false } { value: 2, done: false }6.使用迭代器的next()方法执行三次获取第1、2、3个结果{ value: 1, done: false } { value: 2, done: false } { value: 3, done: false } 代码 var arr [1,2,3]; const iter arr[Symbol.iterator](); console.log(iter.next()); console.log(iter.next()); console.log(iter.next()); 运行结果 { value: 1, done: false } { value: 2, done: false } { value: 3, done: false }7.使用迭代器的next()方法执行四次获取第1、2、3个结果及迭代完成标志{ value: 1, done: false } { value: 2, done: false } { value: 3, done: false } { value: undefined, done: true },其中{ value: undefined, done: true }表示迭代器对象已经完成了所有的迭代操作。 代码 var arr [1,2,3]; const iter arr[Symbol.iterator](); console.log(iter.next()); console.log(iter.next()); console.log(iter.next()); console.log(iter.next()); 运行结果 { value: 1, done: false } { value: 2, done: false } { value: 3, done: false } { value: undefined, done: true }8.使用迭代器的next().value方法模拟var [a,b] [1,2,3];的解构。 代码 var arr [1,2,3]; const iter arr[Symbol.iterator](); var a iter.next().value; var b iter.next().value; console.log(a, b);运行结果 1 2答案 答案(1)、在对象中添加一个数组迭代器 1.使用临时数组添加迭代器 代码 var [a, b] { a: 1, b: 2,[Symbol.iterator](){var arr [1,2];const iter arr[Symbol.iterator]();return iter;}, }; console.log(a, b);运行结果 1 22. 对象值输出结果 代码 var [a, b] { a: 3, b: 4,[Symbol.iterator](){var arr [1,2];const iter arr[Symbol.iterator]();return iter;}, }; console.log(a, b);运行结果 1 23.使用Object.values(this);拿到对象的值 代码 var [a, b] { a: 3, b: 4,[Symbol.iterator](){var arr Object.values(this);const iter arr[Symbol.iterator]();return iter;}, }; console.log(a, b);运行结果 3 4答案(2)、在对象原型上添加数组迭代器 1.按步骤实现数组迭代器 代码 Object.prototype [Symbol.iterator] function () {var arr Object.values(this);const iter arr[Symbol.iterator]();return iter; } var [a, b] { a:1, b: 2 }; console.log(a, b);运行结果 1 22. 简化步骤 代码 Object.prototype [Symbol.iterator] function () {return Object.values(this)[Symbol.iterator](); } var [a, b] { a:1, b: 2 }; console.log(a, b);运行结果 1 2答案(3)、使用迭代器生成器 下面所示代码中的生成器函数function* () {}定义了一个迭代器生成器。当该迭代器被调用时它会返回一个可迭代对象并且通过yield*语句将对象的值作为迭代器的值逐个产生出来。 代码 Object.prototype [Symbol.iterator] function* () {return yield* Object.values(this); } var [a, b] { a:1, b: 2 }; console.log(a, b);运行结果 1 2
http://www.sczhlp.com/news/173382/

相关文章:

  • 福田建设大型网站建设公司好吗网站开发方法简答题
  • 个人网站不备案网站开发兼职团队
  • 沈阳网站制作平台广告设计与制作是什么专业类的
  • 网站设计工作室公司网站建设代码容易出错
  • vs 网站开发教程徐州公司建站模板
  • 网站模板设计开发网站的建设目标文档
  • 沧州做家装的公司网站网站备案是针对空间还是域名
  • 网站管理模式兴国县城乡规划建设局网站
  • 淘宝网站建设百度百科网页设计自我介绍模板代码
  • 中核工建设集团OA网站给女生做网站
  • 外贸网站建设优化哔哩哔哩网站怎么做视频
  • 2025国庆Day6
  • Claude 封杀中国后,我终于找到了平替!
  • [退役感言]You are my only one.
  • Mortal
  • 制作网站需要怎么做房地产开发公司账务处理流程
  • 网站建设基础服务报价智能经济高峰论坛
  • 心理教育网站建设目的自己电脑网站建设
  • 做网站的论坛商城全网推广运营公司
  • 网站上的图片多大合适网页制作素材可爱图片
  • 网站建设+青海贸易网站建设公司
  • 做网站如何写需求软件开发模型有几种各有什么特点
  • 自己做网站可以挣钱吗中铁建设集团有限公司官网
  • 广安建设企业网站建立网站批复
  • 香奈儿网站建设目标推荐营销型网站建设
  • 安阳哪里有学做网站的学校做网站上加入模块怎么加入
  • 南宁网站制作-中国互联免费找图片素材的网站
  • 做企业门户网站安装wordpress 空白
  • 南京科技网站设计有特点哪家微网站做的好
  • 制作校园网站专业网页设计费用