<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><script type="text/javascript">// 数组// 创建数组的方式var a = new Array;a [0] = '张三';a [1] = '李四';a [2] = '王五';console.log(a);var b = new Array('张三', '李四', '王五');console.log(b);var c = ['张三', '李四', '王五'];console.log(c);// 访问数组,通过下标,从0开始,最后一个是length - 1var c = ['张三', '李四', '王五'];console.log(c[2]);// 遍历数组// 通过下标访问元素var arr = ['马蓉','白百何','李小璐','潘金莲'];for(i = 0; i < arr.length; i++){console.log(arr[i]);}// 优化性能:能不写等于就不写等于,把重复操作的步骤提取出来// 方法和属性var arr = ['法拉利','宾利','GTR','玛莎拉蒂'];// 属性不带()console.log(arr.length);//方法带()// 根据元素找下标console.log(arr.indexOf('宾利'));// 数组的增删改查// 增// 从末尾增       思路:因为length的长度比下标多1,直接把length的长度当下标,赋值var arr = ['篮球','台球','乒乓球','悠悠球','玻璃球','冰球'];arr[arr.length] = '羽毛球';console.log(arr);// 从中间增     思路:length+1,把要加的位置的元素替换给后面的元素,空出来的元素赋值.重点是从后往前数,i--var arr = ['篮球','台球','乒乓球','悠悠球','玻璃球','冰球'];for(i = arr.length; i >= 3; i--){arr[i] = arr[i-1];}arr[3] = '羽毛球';console.log(arr);// 从开头增      思路:length+1,所有元素替换给后面的元素,第一个下标空出来,赋值,重点还是从后往前数,i--var arr = ['篮球','台球','乒乓球','悠悠球','玻璃球','冰球'];for(i = arr.length; i >=0; i--){arr[i] = arr[i-1];}arr[0] = '羽毛球';console.log(arr);// 删// 从末尾删        思路:length-1,最后一个元素没有下标就删了var arr = ['篮球','台球','乒乓球','悠悠球','玻璃球','冰球'];arr.length--;console.log(arr);// 从后开头删   思路:从删除的元素后面的元素一次替换给前面的下标;length-1;var arr = ['篮球','台球','乒乓球','悠悠球','玻璃球','冰球'];for(i = 0; i < arr.length - 1; i++){arr[i] = arr[i+1];}console.log(arr);// 从中间删     思路:从要删除的元素开始,length - 1;后面的元素一次替换成前面一个元素的下标var arr = ['篮球','台球','乒乓球','悠悠球','玻璃球','冰球'];for(i = 3; i < arr.length - 1; i++){arr[i] = arr[i + 1];}console.log(arr);// 改         思路:找到下标直接赋值var arr = ['篮球','台球','乒乓球','悠悠球','玻璃球','冰球'];arr[4] = '什么球';console.log(arr);// 查            思路:直接打印下标var arr = ['篮球','台球','乒乓球','悠悠球','玻璃球','冰球'];console.log(arr[3]);// 对数组进行求和       思路:遍历数组,然后求和var arr = [6, 7, 8, 9,10];var sum = 0;for(i = 0; i < arr.length; i++){sum += arr[i];}console.log(sum);// 输出数组中最大的值        思路:假设数组中的一个元素是最大值,遍历数组;用它跟其他元素比较,如果假设值小于其他元素,则最大值是其他元素var arr = [1,5,6,3,2,4];var max = arr[0];for(i = 0; i < arr.length; i++){if(max < arr[i]){max = arr[i];}}console.log(max);// 输出数组中最小的值        思路:假设数组中的第一个元素是最小值,遍历数组,用它跟其他元素比较,如果假设值大于其他元素,则最小值是其他元素var arr = [6,5,3,1,2,4];var min = arr[0];for(i = 0; i < arr.length; i++){if(min > arr[i]){min = arr[i];}}console.log(min);// 平均数         思路:遍历数组求和,然后除数组长度var arr = [6,5,3,1,2,4];var sum = 0;for(i = 0; i < arr.length; i++){sum += arr[i];}console.log(sum / arr.length);// 将数组中所有元素和|拼接成一个新的字符串     思路:输出结果为字符串,则创建一个空字符串,把新的结果放进去,遍历数组,让每个元素和字符串'|'拼接//      除了最后一个元素没有后面的'|',所以在遍历数组的时候去掉最后一个元素(i<arr.length-1)//      打印结果没有最后一个元素,因为遍历数组的时候就没有加上最后一个元素,那么s还需要加上最后一个元素                                                                (arr.length-1)var arr = ['辛芷蕾','倪妮','高圆圆','周迅','宋轶'];var s = '';for(i = 0; i < arr.length - 1; i++){s += arr[i] + '|'}s += arr[arr.length - 1];console.log(s);// 反向遍历  指的是 倒着一个一个的输出     思路:遍历数组的时候就反过来遍历,然后再输出var arr = [1,2,3,4,5];for(i = arr.length - 1; i >= 0; i--){console.log(arr[i]);}// 尾部插入数据           思路:数组的长度是length,但是最后一个元素的下标是length-1,所以用数组的长度作为下标,数组的长度就加了一个,直接赋值var arr = [];arr[arr.length] = 'zhangsan';console.log(arr);arr[arr.length] = 'lisi';console.log(arr);arr[arr.length] = 'wangwu';console.log(arr);// 去掉数组中元素的值是0的,重新生成一个新数组var arr = [1,0,2,0,3,0,4,0,5];var newArr = [];for(i = 0; i < arr.length; i++){if(arr[i] != 0){newArr[newArr.length] = arr[i];}}console.log(newArr);// 翻转数组           思路:反向遍历,输出给新数组var arr = [1,2,3,4,5,6];var newArr =[];for(i = arr.length - 1; i >= 0; i--){newArr[newArr.length] = arr[i];}console.log(newArr);// 翻转数组,在原数组上翻转/* 思路:在原数组上翻转,最后一个元素换到第一个元素的位置上,第二个元素换到倒数第二个元素的位置上,以此类推找出数组下标的规律, 并且需要注意的是,遍历元素从第一个元素开始,到一半的元素截止,把遍历的元素替换给没遍历的元素另外两个元素值交换的方法需要记住*/var arr = [1,2,3,4,5,6];// arr[0]           arr[5]  arr[arr.length - 1]// arr[1]            arr[4]  arr[arr.length - 1 - i]// arr[2]            arr[3]  arr[arr.length - 1 - i]for(i = 0; i < arr.length / 2; i++){var temp = arr[i];arr[i] = arr[arr.length - 1 - i];arr[arr.length - 1 - i] = temp;}console.log(arr);// 合并两个数组到一个新的数组上       思路:同在数组末尾添加元素一样,只是添加的元素的遍历两个数组得到的var arr = [1,2,3,4];var arr1 = [5,6,7,8];var newArr = [];for(i = 0; i <arr.length; i++){newArr[newArr.length] = arr[i];}for(j = 0; j < arr1.length; j++){newArr[newArr.length] = arr1[j];}console.log(newArr);// 将一个数组的值添加到另一个数组      // 思路:同上啊,在数组末尾添加元素,添加的元素是遍历另一个数组得到的,需要注意的是,在末尾添加新元素,最后一个元素的下标,等于数组的长度var arr = [1,2,3,4];var arr1 = [5,6,7,8];for(i = 0; i < arr1.length; i++){arr[arr.length] = arr1[i];}console.log(arr);// 数组去重,放进新数组内var arr = [1,2,2,4,5,4,3,2,1];var newArr = [];var flag = true;for(i = 0; i < arr.length; i++){for(j = 0; j < newArr.length; j++){if(arr[i] == newArr[j]){flag = false;break;}}if(flag){newArr[newArr.length] = arr[i];}flag = true;}console.log(newArr);</script></body>
</html>

2021-08-03数组及案例练习相关推荐

  1. 【Yolov5】1.认真总结6000字Yolov5保姆级教程(旧版本2021.08.03作为备份)

    旧版本2021.08.03 新版本https://blog.csdn.net/m0_53392188/article/details/119334634​​​​​​​ 以作备份 目录 一.前言 二.学 ...

  2. Go 1.17 RC2发布 | Gopher Daily (2021.08.03) ʕ◔ϖ◔ʔ

    每日一谚:Package name space is flat Go技术生态 Go 1.17 RC2发布 - https://groups.google.com/g/golang-announce/c ...

  3. Filter和Listener-学习笔记03【Filter案例】

    Java后端 学习路线 笔记汇总表[黑马程序员] Filter和Listener-学习笔记01[Filter快速入门] Filter和Listener-学习笔记02[Filter细节] Filter和 ...

  4. 【财经期刊FM-Radio|2021年03月01日】

    title: [财经期刊FM-Radio|2021年03月01日] 微信公众号: 张良信息咨询服务工作室 [今日热点新闻一览↓↓] 2月份中国制造业PMI季节性回落,经济仍保持稳定恢复势头 茅台集团去 ...

  5. 【LeetCode】面试题 08.03. 魔术索引(C++)

    面试题 08.03. 魔术索引(C++) 1 题目描述 2 示例描述 2.1 示例1 2.2 示例2 3 解题提示 4 解题思路 5 源码详解(C++) 1 题目描述 魔术索引. 在数组A[0-n-1 ...

  6. 本博客导读(2021/08/09更新)

    文章目录 1. 简介 1.1 博客精神 1.2 写作目的 1.3 技术方向 1.4 博主 1.5 版权说明 2 推荐内容 2.1 主要代表作 2.2 其他推荐内容 3. 程序类 3.1 C#程序设计 ...

  7. LeetCode-剑指 Offer 03. 数组中重复的数字

    剑指 Offer 03. 数组中重复的数字 思路一:先排序,然后找到最近的两个相邻的一样数返回 class Solution {public:int findRepeatNumber(vector&l ...

  8. 网易云信荣获2021年度智慧教育典型案例奖项,并入选《智慧教育发展及产业图谱研究报告》...

    日前,2021年中国国际信息通信展览会.ICT 中国·智慧教育高峰论坛在北京成功举办.本次大会以"同心致远 聚力前行"为主题,汇聚了来自各大高校.科研机构.知名企业的众多专家,共话 ...

  9. 数组小案例(求数组最大最小值、反转数组中元素、指定元素第一次出现的索引)

    数组小案例(求数组最大最小值.反转数组中元素.指定元素第一次出现的索引) 练习1 数组最值的求取 定一个数组,求数组中的最大值和最小值 public class Demo01 {public stat ...

  10. Java讲课笔记08:数组

    文章目录 零.本讲学习目标 1.掌握一维数组的定义和使用(遍历.最值.排序) 2.掌握二维数组的定义和使用(遍历.均值.最值) 一.引入数组 1.假设场景 2.笨拙的办法 3.优化的办法 二.了解数组 ...

最新文章

  1. 谷歌又发钱了!给全员发1600美元,包括外包和实习生!还宣布将无限期居家办公!...
  2. 用神经网络二分类理论重述双原子化合物的成键过程
  3. Android ActionBar随ScorllView上下拖动而透明度渐变效果
  4. Python爬取2900条数据,深度揭秘到底哪种防脱发洗发水最受欢迎?
  5. 关于TTThumbsViewController加载更多
  6. 先搭云安全框架 再谈云落地
  7. 在ASP.Net中实现RSA加密
  8. 数据库索引系列四:索引算法Hash与BTree的区别
  9. ios加密算法AES
  10. NOSQL,MongoDB是什么?
  11. mysql经典脚本_mysql常用脚本
  12. Java 盾神与积木游戏
  13. DLNA使用设置教程
  14. 基于数组判断字符串是否是回文
  15. mac 国家税务总局发票不显示验证码
  16. Rasa课程、Rasa培训、Rasa面试、Rasa实战系列之Toxic Language Detection
  17. NXP 公司的 RFID 卡
  18. 洛谷P3387 【模板】缩点 (tarjan算法)
  19. 深入理解Java中的反射机制和使用原理!详细解析invoke方法的执行和使用
  20. 百度携手重庆渝中区,打造区块链大数据智能化应用示范城区

热门文章

  1. 如何写好科研论文 撰写技巧(三)
  2. vue-cli+mock.js+axios模拟前后台数据交互
  3. 疏基修饰银铟硒量子点AgInSe2 Qds-SH|生物素修饰硫化银量子点Ag2S Qds-Biotin|近红外量子点的偶联修饰定制服务
  4. OCA全贴合材料工艺解析
  5. ArcGIS教程:克里金法的工作原理(二)
  6. 【 反向传播算法 Back-Propagation 数学推导以及源码详解 深度学习 Pytorch笔记 B站刘二大人(3/10)】
  7. 《炬丰科技-半导体工艺》不破坏MEMS结构的颗粒去除方法
  8. 再见ip.taobao,全网显示 IP 归属地,用上这个开源库,实现也太简单了!
  9. oftPerfect RAM Disk 内存盘管理,提高软件速度
  10. 荷兰国旗排序的几种解法