javascript - 如何獲取數(shù)組下標(biāo)為偶數(shù)的下標(biāo)所對(duì)應(yīng)的數(shù)組內(nèi)的值
問題描述
哪個(gè)大神能有辦法
問題解答
回答1:你的問題
如何獲取數(shù)組下標(biāo)為偶數(shù)的下標(biāo)所對(duì)應(yīng)的數(shù)組內(nèi)的值
換句話說就是: 獲取數(shù)組內(nèi)偶數(shù)下標(biāo)對(duì)應(yīng)的 數(shù)組
照上面的句子來看,合理猜測(cè)你說的其實(shí)是 從二維數(shù)組里取得偶下標(biāo)對(duì)應(yīng)的數(shù)組們,并把他們鋪平為一個(gè)數(shù)組
比如
var test = [ [’a’], [’b’], [’c’], [’d’]]
處理之后結(jié)果是 [’a’, ’c’] 即 偶數(shù)下標(biāo)對(duì)應(yīng)的數(shù)組們合并為一個(gè)數(shù)組 (下標(biāo)從 0 開始 0 是偶數(shù))
如果確信是這樣 請(qǐng)繼續(xù)往下看
先獲取偶下標(biāo)對(duì)應(yīng)的數(shù)組們var isEven = i => i % 2 === 0; var evens = arr => arr.filter( // 子數(shù)組, 序號(hào) => idx 是偶數(shù)則返回 true 否則 false // 這樣可以過濾掉奇數(shù)下標(biāo)的元素 (subArr, idx) => isEven(idx)); 把用 evens 獲得的數(shù)組們鋪平
比如 [[1], [2]] 處理之后變成 [1, 2]
這個(gè)過程就是鋪平
var flat = arr => arr.reduce((acc, cur) => { // 每一次的返回值將會(huì)作為下一次的 acc 來用 // 那么每一次都把 acc cur 合并在一起 最后就是鋪平了 return acc.concat(cur)}, [])組裝
// 把 evens 執(zhí)行結(jié)果傳給 flat 執(zhí)行 作為 getAllEvens 的返回值 // 可以想象數(shù)學(xué)上的 y = g(f(x)); var getAllEvens = arr => { let temp = evens(arr); return flat(temp); }測(cè)試
定義待測(cè)試數(shù)組
// 二維數(shù)組 var testArr = [ [’這里’, ’是’, ’0’, ’號(hào)’, ’數(shù)組’, ’當(dāng)然是偶數(shù)’], [’所以’, ’這’, ’里’, ’是’, ’1號(hào)’, ’也就是奇數(shù)’], [0,1,2,3,4], [-1, -2, -3, -4]];
期望值是 這里是0號(hào)數(shù)組當(dāng)然是偶數(shù) 和 0,1,2,3,4
以下是測(cè)試代碼:
var res = getAllEvens(testArr); console.log(’數(shù)組:’, res); console.log(’合并:’, res.join(’,’));ScreenShot
結(jié)果如圖

預(yù)期所得,確信可行。
Links一些知識(shí)點(diǎn)
MDN - 數(shù)組的 filterMDN - 數(shù)組的 reduceMDN - 箭頭函數(shù)
回答2:var array = [1,2,3,4];for (var i=0;i<array.length;i++){ if (i%2==0) {console.log(array[i]); }}回答3:
var array = [1,2,3,4];var result = array.filter(function(index, value){ if (index%2==0) {return true; }});console(array);console(result);回答4:
幫你簡(jiǎn)單實(shí)現(xiàn)了個(gè)函數(shù)
let arr = [0,1,2,3,4,5,6,7,8,9];function even(arr){ return arr.filter((val,index)=>{if(index%2 === 0){ return true;} })};even(arr);//輸出[0, 2, 4, 6, 8]
相關(guān)文章:
1. node.js - mongodb查找子對(duì)象的名稱為某個(gè)值的對(duì)象的方法2. javascript - QQ第三方登錄的問題3. 測(cè)試自動(dòng)化html元素選擇器元素ID或DataAttribute [關(guān)閉]4. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?5. spring-mvc - spring-session-redis HttpSessionListener失效6. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境7. 利用IPMI遠(yuǎn)程安裝centos報(bào)錯(cuò)!8. mysql - 查詢 修改數(shù)據(jù)庫(kù)優(yōu)化問題吧9. 正在使用electron和node.js做桌面應(yīng)用,需要實(shí)時(shí)監(jiān)聽是否有網(wǎng)絡(luò)連接,node或者electron是否可以做到10. java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統(tǒng)有創(chuàng)建日志文件,不寫入日志信息。

網(wǎng)公網(wǎng)安備