
数组
超级无敌奥特蔓
这个作者很懒,什么都没留下…
展开
-
数组的小典例
1、编写函数map(arr) 把数组中的每一位数字都增加30%,并返回一个新数组 思路:首先定义一个空的数组用来接收计算后的结果,使用for...of来遍历的到原数组中的值,然后用数组的push方法将计算后的结果追加到新的数组里面。最后将新数组返回即可。 var newArr = []; function map(arr) { for (var v of arr) { newArr.push(v * 1.3);原创 2022-03-24 17:30:36 · 204 阅读 · 0 评论 -
选择排序算法
选择排序算法思想:首先在未排序序列中找到最小元素,存放到排序序列的起始位置。再从剩余未排序元素中继续寻找最小元素,然后放到已排好序列后面,即是选择最小的元素与未排序部分的首部交换。以此类推,直到所有元素均排序完毕。 编写代码思路:首先定义一个数组,使用双循环来进行遍历。外层循环来控制一共需要比较多少次,由于数组下标都是从0开始,故定义j的初值为0,最大索引为数组长度减1。假设第0个为最小值索引,也即是j的初始值。内层循环来查找每次比较的最小索引号,判断条件为arr[i] < arr[minInd.原创 2022-03-24 12:28:17 · 294 阅读 · 0 评论 -
冒泡排序算法
方法1:利用for循环 思路:冒泡排序算法即使每次进行一次冒泡都会有一个元素排到最终的位置上,利用for循环来进行,外层循环来控制一共需要多少趟,内层循环来控制每一趟需要交换的次数。(j <= arr.length - i - 1)此处是由于每进行一趟都会有一个在最终位置上,若进行i趟则会有i个元素已经在排好的位置上,不需要在进行比较。在内层循环体内定义一个变量用来存放临时的变量便于两个元素比较大小来交换位置。最后进行打印输出即可 var arr = [5, 2, 9, 20, 10]; fo原创 2022-03-21 18:37:41 · 1102 阅读 · 0 评论 -
通过循环按行顺序为一个5×5的二维数组a赋1到25的自然数,然后输出该数组的左下半三角。
var arr = []; for (var i = 0; i <= 4; i++) { for (var j = 1; j <= i + 1; j++) { var num = j + 5 * i; document.write(num + "\t"); } document.write("<br&.原创 2022-03-24 11:10:12 · 2214 阅读 · 0 评论 -
定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数; 然后按顺序每五个数求出一个平均值,放在另一个数组中并输出。
思路:首先定义一个空的数组来循环的添加30个偶数,接着定义一给空的数组用来存放每组所得的平均值。令sum和的初始值为0,循环的遍历数组中的元素,来进行累加。由于是按顺序每五个求一个平均值,也即是每次五个结束开始下一次的循环。所以需要一个变量用来记录每次从第几个开始(由于数组下标是从0开始的,所以变量值需要+1),控制每次的个数采用取模的方法。满足条件就进行求取平均值,否则就继续进行循环。 注:在条件判断的最后需要将sum的值重新置为0,因为每组和都是从0开始进行累加的。 var arr = [].原创 2022-03-24 09:47:35 · 3432 阅读 · 0 评论 -
山上有一口缸可以装50升水,现在有15升水。老和尚叫小和尚下山挑水,每次可以挑5升。问:小和尚要挑几次水才可以把水缸挑满?通过编程解决这个问题。
思路:首先定义一个数组来存放现有的水量,再定义一个计数器来记录挑水的次数。接着使用一个while循环(在不知道具体结束条件的时候可以使用,先做成死循环,然后根据具体条件退出循环)。在循环体内利用数组的push()方法,每push一次,计数器就加一。接着就是数组元素的求和问题了,利用for循环将数组中的每一个元素取出进行累加。while循环的退出条件也即是总和等于一口缸可容纳的水量。 var arr = [15]; var time = 0; while (true) { .原创 2022-03-24 08:39:54 · 1849 阅读 · 0 评论 -
利用函数翻转任意数组
思路:在函数中定义一个新的空数组用来存放翻转后的数组,利用for循环对旧数组进行从后向前遍历,然后将取得值赋值给新数组的第一个位置(newarr[newarr.length]-->由于新数组的长度为空,所以narr.length=0,也即是newarr[0]),结束循环后将新数组return。最后进行调用函数打印输出即可。 function reverse(arr) { var newarr = []; for (var i = arr.length - 1; i >= 0;原创 2022-03-21 17:59:48 · 819 阅读 · 0 评论 -
数组去重:将一数组中重复的元素去掉剩余部分保存到新数组中
思路:将旧数组中不重复的元素选取出来放到新数组中,重复的元素只保留一个放到新数组中。首先,需要定义一个新数组用来把保存元素,使用for循环来对旧数组进行遍历。根据旧数组中的元素去查询新数组,利用if条件判断-->如果该元素在新数组中就不添加,否则就添加到新数组中。(不要忘记return新数组,不然会显示undefined) 如何判断新数组中是否已经存在该元素呢? 方法:indexOf(数组元素) 用来返回改数组元素的索引号 新数组名.indexOf(数组元素) 若改值返回-1则说明新数组中不存原创 2022-03-22 17:54:25 · 1827 阅读 · 0 评论