代替for循环的常见问题
生活随笔
收集整理的這篇文章主要介紹了
代替for循环的常见问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
問題一:去除數(shù)組中的 false值
const arrContainsEmptyVal = [3, 4, 5, 2, 3, undefined, null, 0, ""]; const compact = arr => arr.filter(Boolean); compact(arrContainsEmptyVal);問題二:去除數(shù)組中小于等于2的數(shù)
const arrContainsEmptyVal = [3, 4, 5, 2, 3, undefined, null, 0, ""]; const compact = arr => arr.filter(v=>v>2); compact(arrContainsEmptyVal);問題三:數(shù)組所有的數(shù)字都乘以2
const arrContainsEmptyVal = [3, 4, 5, 2, 3]; const compact = arr => arr.map(v=>v*2); compact(arrContainsEmptyVal);問題四: 將數(shù)組中的 VIP 用戶余額加 10
const users = [ { username: "Kelly", isVIP: true, balance: 20 }, { username: "Tom", isVIP: false, balance: 19 }, { username: "Stephanie", isVIP: true, balance: 30 } ]; users.map(v=>{if(v.isVIP){v.balance +=10;} }); console.log(users);問題五:判斷字符串中是否含有元音字母
const randomStr = "hdjrwqpi"; const isVowel = char => ["a", "e", "o", "i", "u"].includes(char); const containsVowel = str => [...str].some(isVowel);containsVowel(randomStr);問題六:判斷用戶是否全部是成年人
const users = [{ name: "Jim", age: 23 },{ name: "Lily", age: 17 },{ name: "Will", age: 25 } ]; users.every(user => user.age >= 18);問題七: 找出上面用戶中的第一個未成年人
const users = [{ name: "Jim", age: 23 },{ name: "Lily", age: 17 },{ name: "Will", age: 25 } ]; const findTeen = users => users.find(user => user.age < 18);findTeen(users);問題八: 將數(shù)組中重復項清除
const dupArr = [1, 2, 3, 3, 3, 3, 6, 7]; const uniq = arr => [...new Set(arr)];uniq(dupArr);問題九: 生成由隨機整數(shù)組成的數(shù)組,數(shù)組長度和元素大小可自定義
let arr=[]; const genNumArr = (length, limit) =>{for(let i=0;i<length;i+=1){arr.push(Math.floor(Math.random()*limit));} }genNumArr(4, 100); console.log(arr);問題十:將多層數(shù)組轉(zhuǎn)換成一層數(shù)組 ---- 這里只是淺拷貝
const nestedArr = [1, 2, [3, 4, [5, 6]]]; const flatten = arr =>arr.reduce((flat, next) => flat.concat(Array.isArray(next) ? flatten(next) : next),[]); flatten(nestedArr);問題十一:將用戶中的男性和女性分別放到不同的數(shù)組里:
const users = [{ name: "Adam", age: 30, sex: "male" },{ name: "Helen", age: 27, sex: "female" },{ name: "Amy", age: 25, sex: "female" },{ name: "Anthony", age: 23, sex: "male" }, ];let [man,woman] = [[],[]]; users.forEach(user=>{if(user.sex === "male"){man.push(user);}else{woman.push(user);} }); console.log(man,woman);總結(jié)
以上是生活随笔為你收集整理的代替for循环的常见问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Async/Await:比Promise
- 下一篇: 销售冠军的激励语录75句