web前端必背知识 javascript 数组 下

简介: web前端必背知识 javascript 数组 下


五、遍历数组

遍历数组的基本了解

数组中的每一项我们怎么取出来?

可以通过数组名【索引号】的方式一项项的取出:

var arr = ['星期1','星期2','星期3','星期4','星期5','星期6','星期7']
      console.log(arr[0])
      console.log(arr[1])
      console.log(arr[2])
      console.log(arr[3])
      ......
      console.log(arr[6])

怎么把数组里面的元素全部取出呢?

从代码中可以发现,从数组中每取出一个元素时,代码是重复的,有所不一样的是索引值在递增,所以答案就是循环

var arr = [1,2,3,4]
for(var i=0; i<4; i++){
  document.write(arr[i])//输出时 i 当索引号来用
}//因为我们数组的索引是从0开始的,所以必须从零开始

遍历:就是把数组中的每个元素从头到尾都访问一次

如果你对循环还不够了解可以去看我关于循环的文章:

https://blog.csdn.net/weixin_71170351/article/details/125224949

数组长度

使用数组名.length可以访问数组元素的数量(数组长度),数组的长度是元素的个数不要跟索引号混淆哦

var arr = [1,2,3,4]
  console.log(arr.length)//数组名.length

var arr = [1,2,3,4]
for(var i=0; i<4; i++){
  document.write(arr[i])//输出时 i 当索引号来用
}//因为我们数组的索引是从0开始的,所以必须从零开始

结果:

六、数组中新增元素

通过修改length 长度新增数组元素

1.可以通过length长度实现数组扩容的目的,length属性是可读写的。

var arr=[1,2,3]
arr.length=5
document.write(arr)
document.write(arr[4])

其中除了1,2,3是没有给值的 所以默认值是undefined

2.新增元素,修改索引号 追加数组元素

var arr =['讲解','数','组']
arr[0]='我来讲解'//替换
arr[3]='关注'//新增
arr[4]='点赞'
arr[5]='收藏'
console.log(arr)

七、数组案例

1.数组去重

要求:将数组【2,0,6,1,77,0,52,0,25,7】中的 0 去掉后形成一个新数组。

var arr=[2,0,6,1,77,0,52,0,25,7]
var newarr=[]
for(var i=0; i<arr.length; i++){
  if(arr[i]!=0){
    newarr[newarr.length] = arr[i]
  }
}
console.log(newarr)

冒泡排序

冒泡排序是一种算法,把一系列的数据按照一定的顺序进行排列显示(从小到大或者从大到小)

列如:

//var arr =[5,4,3,2,1]
var arr=[4,1,2,3,5]
for(var i=0; i<=arr.length - 1; i++){//外循环管趟数
  for(var j=0; j<=arr.length -i -1; j++){//里循环管 每一趟的交换次数
  //内部交换2个变量的值 前一个和后一个数组元素相比较
    if(arr[j]<arr[j+1]){
      var temp =arr[j]
      arr[j]=arr[j+1]
      arr[j+1]=temp
    }
  }
}
document.write(arr)

结束

好的各位到这里本文章就结束了,如果对你有帮助请:

目录
相关文章
|
18天前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
31 3
|
7天前
|
资源调度 前端开发 JavaScript
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第10天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤,包括安装依赖、创建混淆脚本、修改 `package.json` 脚本命令、构建项目并执行混淆,以及在 HTML 文件中引用混淆后的文件。通过这些步骤,可以有效提高代码的安全性。
|
15天前
|
监控 前端开发 JavaScript
探索微前端架构:构建可扩展的现代Web应用
【10月更文挑战第29天】本文探讨了微前端架构的核心概念、优势及实施策略,通过将大型前端应用拆分为多个独立的微应用,提高开发效率、增强可维护性,并支持灵活的技术选型。实际案例包括Spotify和Zalando的成功应用。
|
15天前
|
设计模式 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用JavaScript,打造智能交互体验!
【10月更文挑战第30天】前端开发领域充满了无限可能与创意,JavaScript作为核心语言,凭借强大的功能和灵活性,成为打造智能交互体验的重要工具。本文介绍前端大牛如何利用JavaScript实现平滑滚动、复杂动画、实时数据更新和智能表单验证等效果,展示了JavaScript的多样性和强大能力。
31 4
|
13天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
13天前
|
移动开发 前端开发 JavaScript
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
于辰在大学期间带领团队参考网易游戏官网的部分游戏页面,开发了一系列前端实训作品。项目包括首页、2021校园招聘页面和明日之后游戏页面,涉及多种特效实现,如动态图片切换和人物聚合效果。作品源码已上传至CSDN,视频效果可在CSDN预览。
20 0
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
|
18天前
|
JavaScript 前端开发 开发者
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第27天】在前端开发领域,Vue.js和Angular是两个备受瞩目的框架。本文对比了两者的优劣,Vue.js以轻量级和易上手著称,适合快速开发小型到中型项目;Angular则由Google支持,功能全面,适合大型企业级应用。选择时需考虑项目需求、团队熟悉度和长期维护等因素。
25 1
|
19天前
|
前端开发 JavaScript
Bootstrap Web 前端 UI 框架
Bootstrap 是快速开发 Web 应用程序的前端工具包。
30 3
|
10天前
|
前端开发 JavaScript 安全
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第7天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤。包括项目准备、安装 `javascript-obfuscator`、配置 Vite 构建以应用混淆,以及最终构建项目进行混淆。通过这些步骤,可以有效提升前端代码的安全性,防止被他人轻易分析和盗用。
|
1月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
101 3