摘要:遞歸一個簡單的階乘遞歸在遞歸之前,該函數會被掛起,如下圖數組創建數組通過操作符通過構造函數判斷是否數組數組中的一些常用函數查找元素,大小寫敏感,返回索引返回將數組轉化為字符串將數組轉化為字符串合并數組和并創建新數組起始索引長度添加新數組
遞歸
function factorial() { // 一個簡單的階乘遞歸 if (number == 1) { return number; } else { return number factorial(number - 1); } } console.log(factorial(5));
在遞歸之前,該函數會被掛起,如下圖:
5 * factorial(4) 5 * 4 * factorial(3) 5 * 4 * 3 * factorial(2) 5 * 4 * 3 * 2 * factorial(1) 5 * 4 * 3 * 2 * 1 5 * 4 * 3 * 2 5 * 4 * 6 5 * 24 120JavaScript 數組 創建數組
var numbers = []; // 通過 [] 操作符 var numbers = new Array(); // 通過構造函數 Array.isArray(numbers) // 判斷是否數組數組中的一些常用函數
.indexOf() // 查找元素,大小寫敏感,返回索引/返回-1 .join() // 將數組轉化為字符串 .toString() // 將數組轉化為字符串 A.concat(B) // 合并數組A和B并創建新數組 .splice(起始索引,長度,添加新數組,.....,...) // 從數組里截取一個新數組 .push() // 將一個元素添加到末尾 .unshift() // 將一個元素添加到開頭 .pop() // 刪除數組末尾的元素 .shift() // 刪除數組的第一個元素 .splice(3, 0, 1, 2, 3) // 從索引為3的位置開始插入1,2,3 .reverse() // 翻轉數組中的元素 .sort() // 按字典順序對元素進行排序 // 從小到大排序 fucntion compare(num1, num2) { return num1 - num2; } var nums = [...]; nums.sort(compare);數組的迭代
.forEach(square); // 對數組中的每個元素使用square函數 .every(isEven) // 若每個元素都滿足isEven則返回true .some(isEven) // 只要有一個元素滿足isEven則返回true .reduce(add) // 不斷對累加值和后續元素調用add函數,最終返回累加值 / 鏈接元素 .reduceRight() // 從右往左
.map(curve) // 返回一個經過curve函數處理后的數組 .filter() // 類似every,返回元素結果為true的新數組 function isEven(num) { return num % 2 == 0; } function isOdd(num) { return num % 2 != 0; } var nums = []; for(i = 0; i < 10; ++i) { nums[i] = i+1; } var evens = nums.filter(isEven); // 2 4 6 8 10 var odds = nums.filter(isOdd); // 1 3 5 7 9多維數組
JavaScript: The Good Parts (O"Reilly) P64
Array.matrix = function(numrows, numcols, initial) { // 創建多位數組 var arr = []; for (var i = 0; i < numrows; ++i) { var columns = []; for (var j = 0; j < numcols; ++j) { columns[j] = initial; } arr[i] = columns; } return arr; } var nums = Array.matrix(5,5,0); var strings = Array.matrix(5,5,"");
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/90070.html
摘要:專題系列共計篇,主要研究日常開發中一些功能點的實現,比如防抖節流去重類型判斷拷貝最值扁平柯里遞歸亂序排序等,特點是研究專題之函數組合專題系列第十六篇,講解函數組合,并且使用柯里化和函數組合實現模式需求我們需要寫一個函數,輸入,返回。 JavaScript 專題之從零實現 jQuery 的 extend JavaScritp 專題系列第七篇,講解如何從零實現一個 jQuery 的 ext...
摘要:數組創建數組數組字面量使用構造函數數組本質上是所以要判斷是不是數組,需要通過判斷。數組長度使用屬性獲取元素的個數。例如函數的對象就是這樣 原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Array.html 源代碼: https://github.com/RobinQu/Programing-In-...
摘要:幾乎所有的編程語言都有類似的數據結構。然而的數組卻略有不同。沒有定義中說的那樣的數據結構,作為替代。元素通過指定的分隔符進行分隔。返回該對象的源代碼。把數組轉換為本地數組,并返回結果。 寫在前面的話: 經常看到技術博客上寫的內容很詳細,對于一個問題,大家的博客內容似乎都是一樣的。不難發現這些技術博客已經成為各路教程的匯總地,而教程一般都是參考國外博客翻譯或者直接在經典的書籍上大片抄錄。...
摘要:中并沒有明確的數組數據類型。返回數組對象的原始值。專門用于篩選出數組中符合函數判斷條件的元素組成的心數組。專門用于對原數組中每個元素執行相同的函數對象規定的操作。 概述 一維數組 數組是一個有序的數據集合,可以通過數組名稱和索引進行訪問。JavaScript中并沒有明確的數組數據類型。 二維數組 數組是可以嵌套的,這就意味著一個數組可以作為一個袁旭被包含在另一個數組里面。利用JavaS...
摘要:屬性是一個值或一組值以數組或對象的形式,是對象的成員。可以使用內置構造函數和創建包裝對象。因此下面的代碼將會使人很迷惑結果結果,此數組長度為應該盡量避免使用數組構造函數創建新數組。給數組對象添加返回數組中最大元素值的方法。 對象部分 Object類型 Object 是一個無序的集合,可以存放任意類型對象,所有其他對象都繼承自這個對象。創建Object類型有兩種,一種是使用new運算符,...
閱讀 4610·2021-09-22 14:57
閱讀 567·2019-08-30 15:56
閱讀 2673·2019-08-30 15:53
閱讀 2245·2019-08-29 14:15
閱讀 1692·2019-08-28 17:54
閱讀 564·2019-08-26 13:37
閱讀 3485·2019-08-26 10:57
閱讀 1050·2019-08-26 10:32