摘要:?jiǎn)栴}一求一個(gè)函數(shù)可以實(shí)現(xiàn)以下功能函數(shù)入?yún)⒁粋€(gè)數(shù)組,數(shù)組元素只能為三種或者期望返回值或者,滿足數(shù)組元素只要有一個(gè),返回?cái)?shù)組元素全為,返回?cái)?shù)組元素非的全部為,返回例如滿足,期望返回值滿足,期望返回值滿足,期望返回值滿足,期望返回值問(wèn)題二求一個(gè)函
問(wèn)題一、 求一個(gè)JS函數(shù)可以實(shí)現(xiàn)以下功能:
函數(shù)入?yún)ⅲ阂粋€(gè)數(shù)組,數(shù)組元素只能為三種:{flag: true}、{flag: false} 或者""
期望返回值:true或者false,滿足:
1.數(shù)組元素只要有一個(gè){flag: false},返回false
2.數(shù)組元素全為"",返回false
3.數(shù)組元素非""的全部為{flag: true},返回true
例如
const array1 = [{flag: true}, {flag: false}, ""; // 滿足1,期望返回值false const array2 = ["", "", "", "", "", ""]; // 滿足2,期望返回值false const array3 = [{flag: true}, {flag: true}, ""]; // 滿足3,期望返回值true const array4 = [{flag: true}, {flag: true}, {flag: true}]; // 滿足3,期望返回值true問(wèn)題二 求一個(gè)JS函數(shù)可以實(shí)現(xiàn)以下功能:
函數(shù)入?yún)ⅲ阂粋€(gè)數(shù)組(以下稱為入?yún)?shù)組),數(shù)組元素只能為三種:{flag: true}、{flag: false} 或者""
期望返回值:一個(gè)length為2的數(shù)組(以下稱為結(jié)果數(shù)組). 滿足
1.結(jié)果數(shù)組的第一個(gè)元素為入?yún)?shù)組index為0、2、4、6等非奇數(shù)位元素組合符合問(wèn)題一的返回值
1.結(jié)果數(shù)組的第二個(gè)元素為入?yún)?shù)組index為1、3、5、7等奇數(shù)為元素組合符合問(wèn)題一的返回值
例如
const array1 = [{flag: true}, {flag: true}, {flag: true}, "", {flag: false}]; 非奇數(shù)位(index等于0,2,4)組合 [{flag: true}, {flag: true}, {flag: false}] // 根據(jù)問(wèn)題一描述,結(jié)果false 奇數(shù)位為(index等于1,3)組合 [{flag: true}, ""] // 根據(jù)問(wèn)題一描述,結(jié)果為true 期望返回值[false, true]示例代碼 問(wèn)題一:
function func (array) { let result = ""; array.forEach((item) => { if (item !== "") { if (result === "") { result = item.flag; } else { result = result && item.flag; } } }) return !!result; }問(wèn)題二:
function func2 (array) { let result = ["", ""]; array.forEach((item, index) => { if (item !== "") { if (result[index % 2] === "") { result[index % 2] = item.flag; } else { result[index % 2] = result[index % 2] && item.flag; } } }); result.forEach(item => { item = item && true; }) return result; }
感覺自己寫的過(guò)程太麻煩了,有沒有更簡(jiǎn)單的寫法呢
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/89983.html
摘要:看完視頻初步認(rèn)識(shí)了一下,以及模塊化開發(fā)的概念,在此做一下總結(jié)。所以應(yīng)該將功能抽象成模塊。并且非常耗性能解決辦法,在滾動(dòng)條正在運(yùn)動(dòng)或者已經(jīng)到達(dá)目的地,就不應(yīng)該執(zhí)行動(dòng)畫。 前言:在慕課網(wǎng)上跟著視頻《側(cè)邊工具欄開發(fā)》做了一遍,用到了jquery操作DOM,其中,用requirejs管理模塊依賴,然后自定義了兩個(gè)模塊它們都依賴jquery,并且其中一個(gè)自定義模塊依賴另一個(gè),所以要暴露出接口???..
摘要:回調(diào)函數(shù)是在異步操作完成后傳播其操作結(jié)果的函數(shù),總是用來(lái)替代同步操作的返回指令。下面的圖片顯示了中事件循環(huán)過(guò)程當(dāng)異步操作完成時(shí),執(zhí)行權(quán)就會(huì)交給這個(gè)異步操作開始的地方,即回調(diào)函數(shù)。 本系列文章為《Node.js Design Patterns Second Edition》的原文翻譯和讀書筆記,在GitHub連載更新,同步翻譯版鏈接。 歡迎關(guān)注我的專欄,之后的博文將在專欄同步: Enc...
摘要:是在收到響應(yīng)后執(zhí)行的函數(shù),可以不用返回。一步步介紹了如何構(gòu)建以及使用中間層,來(lái)統(tǒng)一管理接口地址,最后還介紹了下中間件等高級(jí)功能。 零、問(wèn)題的由來(lái) 開門見山地說(shuō),這篇文章是一篇安利軟文~,安利的對(duì)象就是最近搞的 tua-api。 顧名思義,這就是一款輔助獲取接口數(shù)據(jù)的工具。 發(fā)請(qǐng)求相關(guān)的工具辣么多,那我為啥要用你呢? 理想狀態(tài)下,項(xiàng)目中應(yīng)該有一個(gè) api 中間層。各種接口在這里定義,業(yè)務(wù)...
摘要:我們給某個(gè)方法傳遞了一個(gè)函數(shù),這個(gè)方法在有相應(yīng)事件發(fā)生時(shí)調(diào)用這個(gè)函數(shù)來(lái)進(jìn)行回調(diào)。當(dāng)回調(diào)啟動(dòng),我們的函數(shù)被觸發(fā)的時(shí)候,有兩個(gè)參數(shù)被傳入和。最后,我們調(diào)用完成響應(yīng)。創(chuàng)建文件并寫入以下內(nèi)容好了。 我們來(lái)把目標(biāo)設(shè)定得簡(jiǎn)單點(diǎn),不過(guò)也要夠?qū)嶋H才行: 用戶可以通過(guò)瀏覽器使用我們的應(yīng)用。當(dāng)用戶請(qǐng)求http://domain/start時(shí),可以看到一個(gè)歡迎頁(yè)面,頁(yè)面上有一個(gè)文件上傳的表單。 我們來(lái)分解...
摘要:背景最近我們前端團(tuán)隊(duì)在重構(gòu)大量的組件,為了保證代碼質(zhì)量,我要求團(tuán)隊(duì)中的成員必須編寫單元測(cè)試,并且測(cè)試覆蓋率達(dá)到以上??偨Y(jié)對(duì)一個(gè)持續(xù)集成的項(xiàng)目來(lái)說(shuō),單元測(cè)試非常重要,同時(shí)最好具有較高的測(cè)試覆蓋率。 背景 最近我們前端團(tuán)隊(duì)在重構(gòu)大量的 UI 組件,為了保證代碼質(zhì)量,我要求團(tuán)隊(duì)中的成員必須編寫單元測(cè)試,并且測(cè)試覆蓋率達(dá)到 80% 以上。那么問(wèn)題來(lái)了,為什么是 80% 的覆蓋率? 這是一個(gè)硬性...
閱讀 2076·2021-11-11 16:54
閱讀 1054·2021-10-12 10:12
閱讀 392·2019-08-30 15:43
閱讀 656·2019-08-29 13:15
閱讀 1086·2019-08-29 13:12
閱讀 1537·2019-08-26 12:09
閱讀 1668·2019-08-26 10:24
閱讀 2274·2019-08-26 10:15