摘要:递归一个简单的阶乘递归在递归之前,该函数会被挂起,如下图数组创建数组通过操作符通过构造函数判断是否数组数组中的一些常用函数查找元素,大小写敏感,返回索引返回将数组转化为字符串将数组转化为字符串合并数组和并创建新数组起始索引长度添加新数组
递归
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,"");
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/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运算符,...
阅读 4510·2021-09-22 14:57
阅读 554·2019-08-30 15:56
阅读 2657·2019-08-30 15:53
阅读 2233·2019-08-29 14:15
阅读 1684·2019-08-28 17:54
阅读 553·2019-08-26 13:37
阅读 3471·2019-08-26 10:57
阅读 1040·2019-08-26 10:32