IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 04-javascript数组 -> 正文阅读

[JavaScript知识库]04-javascript数组

1、数组创建方式

  • 1、字面量
var arr = [];
  • 2、内置构造函数
var arr1 = new Array( )

数组:有序的数据类型,里面可以放任何数据类型;length 数组的长度
创建方式的区别

  • var arr = [1,2,3,4,"a",false]
  • var arr1 = new Array(10) 如果只传了一个参数,那就是数组的length
  • var arr1 = new Array(1."as",5,45) 如果传了两个及以上的数据,那就是数组里面的数据

2、操作数组的数据(增删改查)

  • arr[0] = "hello" arr[1] = "ni"
  • arr[1] = fine
  • arr.length = 0 删除数组

3、简单操作数组的方法

1、删除数组的最后一项

  • 语法:数组.pop()
  • 返回值:被删除的那一条数据 直接改变原数组

2、往数组的末尾添加一项

  • 语法:数组.push()
  • 返回值:改变后的数组长度 直接改变原数组

3、删除数组的第一项

  • 语法:数组.shift
  • 返回值:被删除的那一条数据 直接改变原数组

4、再数组的最前面添加一条数据

  • 语法:数组.unshift
  • 返回值:改变后的数组长度 直接改变原数组

5、数组的切割

  • 语法:数组.splice( )
  • 如果只有一个参数,代表开始截取的位置,会从这个位置截取到最后
  • 如果两个参数,第一个参数代表截取的初始位置,第二个是截取的个数
  • 如果三个参数,第一个参数代表截取的初始位置,第二个是截取的个数,第三个是替换到截取位置的数据
  • 返回值:截取的数据组成的一个新的数组 会改变原数组

6、indexOF( ) 查询数组里面有没有某一个数据

  • 语法:数组.indexOf( ) 参数:要查询的数据
  • 返回值:如果有这个数据就返回这个数据的下标(索引), 如果没有就返回 -1 不改变原数组

7、concat( ) 拼接数据

var arr = ["ak",5,6]
var arr1 = [1,2,3,4]
var res = arr.concat(arr1)
console.log(res)
console.log(arr)
  • 语法:arr.concat(要拼接得数据或者数组)
  • 返回值:拼接好数据的新的数组 不会改变原数组

8、join( ) 以某种符号把数组里面得数据连接成为一个字符串

  • 语法:数组.join( ) 参数可以是任意字符串,如果没有参数,默认以 " , " 连接
  • 返回值:连接好的字符串 不会改变原数组

9、reverse( ) 反转数组

  • 语法:数组.reverse( )
  • 返回值:就是改变后的数组 会改变原数组

10、sort( ) 数组排序

  • 语法:数组.sort( ) 参数接收的是一个function 这个function有两个参数
    return a - b 从小到大
    return b - a 从大到小
  • 返回值:就是改变后的数组 会改变原数组
var arr = [5,2,6,4,1,,78,46]
var res = arr.sort(function(a,b){
    return a - b
})
console.log(res)

引用数据类型在内存当中的存储情况

  • 引用数据类型:object arr function 。。。
  • 内存分布为栈内存 和 堆内存
  • 基本的数据类型存储在栈内存里面,引用数据类型在栈内存里面存储的是空间地址

两种常见的排序方法

  • 冒泡排序
//两个相邻的进行比较,如果前面那个比后面那个大,就交换他们的位置
var arr = [5,2,6,4,1,,78,46]
for(var i = 0 ; i < arr.length ; i++){
    for(var j = 0 ; j < arr.length - 1 - i ; j++){
        if(arr[j] > arr[j + 1]){
            var temp = arr[j]
            arr[j] = arr[j + 1]
            arr[j + 1] = temp
        }
    }
}
  • 选择排序
//先默认第0项就是最小的,然后进行遍历数组里面的每一个数据,只要有比我小的,我就记录下你的索引
var arr = [5,2,6,4,1,,78,46]
for(var i = 0 ; i < arr.length ; i++){
    var minIndex = i
    for(var j = i + 1 ; j < arr.length ; j++){
        if(arr[j] < arr[minIndex]){
            minIndex = j
        }
    }
    if(i !== minIndex){
        var temp = arr[i]
        arr[i] = arr[minIndex]
        arr[minIndex] = temp
    }
}
console.log(arr)

for in 循环遍历

  • 一般用来遍历对象
var obj = {
   name:"Bob",
   age:48,
   hobby:"play"
}
for(var key in obj){
   console.log(obj[key]) //输出的值是属性
}

遍历数组

var arr = ["小红","小黑","小白","小明"]
for(var key in arr){
    console.log(key)//0,1,2,3   输出的值是数组的下标
}

11、ES5新增的操作数组的方法

  • every
  • some
  • forEach
  • filter
  • indexOf
  • lastIndexOf
  • isArray
  • map
  • reduce
  • reduceRight

12、不改变原数组的方法

indexOf( )  concat( )  join(  )  map( ) filter( ) some( ) every( ) slice( ) reduce( ) find( )

forEach( ) 有时会改变原数组,有时不会改变原数组

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-21 12:06:15  更:2021-10-21 12:08:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:35:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码