我是靠谱客的博主 腼腆鸵鸟,最近开发中收集的这篇文章主要介绍c++for循环求最大公约数_不数不知道,一数吓一跳,JS里循环竟高达10多种 !,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、for循环

//  let arr = [1, 2, 3];//  for (let i = 10; i < arr.length; i++) {//   console.log(i, arr[i]);//  }

while和do...while就省拉

2、for..in、for...of

2.1 for...in 循环:只能获得对象的键名,不能获得键值,for...of 循环:允许遍历获得键值
//  var arr = ["red", "green", "blue"];//  for (let item in arr) {//   console.log("for in item", item); //0,1,2//  }//  for (let item of arr) {//   console.log("for of item", item); //red green blue//  }
2.2 对于普通对象,for...in遍历键名,for..of直接用会报错
//  let obj = {//   name: "Jim Green",//   age: 12,//  };//  for (let key in obj) {//   console.log(key); //name age//  }//  for (let key of Object.keys(obj)) {//   console.log(key); //name age//  }
2.3 for...in 循环不仅遍历数字键名,还会遍历手动添加的其它键,甚至包括原型链上的键。for...of 则不会这样
//  let arr = [1, 2, 3];//  arr.set = "world"; // 手动添加的键//  Array.prototype.name = "hello"; // 原型链上的键//  for (let item in arr) {//   console.log(item); //0,1,2 ,set,name//  }//  for (let value of arr) {//   console.log(value); //1 2 3//  }
2.4 forEach 无法用return、break、continue, for..in for...of可以
//  let arr = [1, 2, 3, 5, 9];//  arr.forEach((item) => {//   if (item % 2 === 0) {//    return;//   }//   console.log("item", item); //1 3 5 9//  });//  for (let item in arr) {//   if (arr[item] % 2 === 0) {//    break;//   }//   console.log("item", arr[item]); //1//  }//  for (let item of arr) {//   if (item % 2 === 0) {//    break;//   }//   console.log("item", item); //1//  }
2.5、无论是 for...in 还是 for...of 都不能遍历出 Symbol 类型的值,遍历 Symbol 类型的值需要用 Object.getOwnPropertySymbols() 方法
//  let a = Symbol("a");//  let b = Symbol("b");//  let obj = {//   [a]: "hello",//   [b]: "world",//   c: "es6",//   d: "dom",//  };//  for (let key in obj) {//   console.info(obj[key]); //es6、domo//  }//  let objSymbols = Object.getOwnPropertySymbols(obj);//  console.info(objSymbols); // [Symbol(a), Symbol(b)]//  objSymbols.forEach((item) => {//   console.info(item.toString() + " --> " + obj[item]); //Symbol(a) --> hello Symbol(b) --> world//  });//

3、数组遍历

3.1 map方法和forEach方法一样,只能遍历数组,不能遍历对象,map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值
//  let arr = [1, 2, 3];//  let tt = arr.map(function (i) {//   console.log(i);//   return i * 2; //[2,4,6]//  });
3.2 filter 方法是 Array 对象内置方法,它会返回通过过滤的元素,不改变原来的数组
//  let arr = [1, 2, 3];//  let tt = arr.filter(function (i) {//   return i > 1;//  });//  // [2,3]
3.3 some() 方法用于检测数组中的元素是否满足指定条件(函数提供),返回 boolean 值,不改变原数组
//  let arr = [1, 2, 3];//  let tt = arr.some(function (i) {//   return i > 1;//  });//  // true
3.4 Array every() 方法every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供),返回 boolean 值,不改变原数组
//  let arr = [1, 2, 3];//  let tt = arr.some(function (i) {//   return i > 1;//  });//  // 检测数组中元素是否都大于1//  // false
3.5 reduce方法
 var arr = [3, 9, 4, 3, 6, 0, 9];   var sum = arr.reduce(function (prev, cur) {   return prev + cur; //求数组之和   }, 0); // prev的初始值为0,第一次时cur为3,完了后下一次的prev为3 cur为9   var max = arr.reduce(function (prev, cur) {    return Math.max(prev, cur); //求最大值   });   var newArr = arr.reduce(function (prev, cur) {  prev.indexOf(cur) === -1 && prev.push(cur);    return prev; //去重,第一次prev为[], 在prev找3,没有找到就把3加到数组中,作为下一次的prev   }, []);

ea900a5b62f9219e88067451d8cdf0f6.png

扫码关注【程序员有道】

最后

以上就是腼腆鸵鸟为你收集整理的c++for循环求最大公约数_不数不知道,一数吓一跳,JS里循环竟高达10多种 !的全部内容,希望文章能够帮你解决c++for循环求最大公约数_不数不知道,一数吓一跳,JS里循环竟高达10多种 !所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部