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知识库 -> javascript集合引用类型 -> 正文阅读

[JavaScript知识库]javascript集合引用类型

Object

       	let person = {
            name:"Nicholas",
            age:29
        };
        let people = new Object();
        people.name = "Nicholas";
        people.age = 29;

Array

创建数组

	    let colors = Array("red","yellow","green");
        let arr = [1,2];
  • es6新增from()和of()方法
        console.log(Array.from("Matt"));        //["M","a","t","t"]
        const a1 = [1,2];
        const a2 = Array.from(a1);
        console.log(a2);        //[1,2]
        console.log(a1 === a2)  //false

将字符串拆分为字符串数组
对现有数组浅复制

数组索引

       	 let colors = ["red","yellow","green"];
         colors.length = 2;
         console.log(colors);   //["red","yellow"]
         colors.length = 3;
         console.log(colors);   //["red","yellow",empty]

通过修改length属性可以在数组末尾删除或添加元素

填充方法

      	let zeroes = [0,0,0,0,0];
        zeroes.fill(5);
        console.log(zeroes);    //[5, 5, 5, 5, 5]
        zeroes.fill(0);
        zeroes.fill(6,3);
        console.log(zeroes);    //[0, 0, 0, 6, 6]
        zeroes.fill(0);
        zeroes.fill(7,1,3);
        console.log(zeroes);    //[0, 7, 7, 0, 0]

fill()方法一个参数全部填充参数
两个参数从第二个参数开始的位置填充第一个参数
三个参数从第二个参数开始到第三个参数区间填充第一个参数

栈方法

        let colors = ["red","yellow","green"]; 
        colors.push("black");
        console.log(colors);        //["red", "yellow", "green", "black"]
        colors.pop();
        console.log(colors);        //["red", "yellow", "green"]

数组通过push()和pop()方法把数组当作栈来使用

队列方法

同栈方法相似,通过shift()来取出数组的第一个值

排序

        let a1 = [2,1,3,5];
        console.log(a1.sort());     //[1, 2, 3, 5]

        let a2 = [2,1,3,5];
        a2.sort((a,b) => a < b ? 1 : a > b ? -1 : 0);
        console.log(a2);            //[5, 3, 2, 1]

        let a3 = [2,1,3,5];
        console.log(a3.reverse());  //[5, 3, 1, 2]

reverse()和sort()方法
reverse()只是把数组反向排列
sort()默认按照升序重新排列数组元素
sort()可以接受一个比较函数,用于判断哪个值排在前面

操作方法

        let colors = ["red","yellow","green"]; 
        let colors2 = colors.concat("black");
        console.log(colors);        //["red", "yellow", "green"]
        console.log(colors2);       //["red", "yellow", "green", "black"]

合并数组:concat()方法先创建当前数组的副本然后把参数加在副本的末尾

        let colors = ["red","yellow","green"];
        colors.splice(0,1);
        console.log(colors);    //["yellow", "green"]

删除:需要给splice()传两个参数,要删除的第一个元素位置和要删除的元素数量

        let colors = ["red","yellow","green"];
        colors.splice(1,0,"black"); 
        console.log(colors);            //["red", "black", "yellow", "green"]

插入:第一个参数开始位置,第二个参数要删除元素个数,后面的参数为插入的元素

        let colors = ["red","yellow","green"];
        colors.splice(1,1,"black");
        console.log(colors); 			//["red", "black", "green"]

替换:同插入

严格相等

        let numbers = [1,2,3,4,3,6];

        console.log(numbers.indexOf(3));        //2
        console.log(numbers.lastIndexOf(3));    //4
        console.log(numbers.indexOf(7));        //-1
        console.log(numbers.includes(6));       //true

indexOf()和lastIndexOf()都返回要查找的元素在数组的位置,无则返回-1
indexOf()从头开始找,而lastIndexOf()从末尾开始找
includes()返回布尔值
在比较的过程中会使用全等(===)比较

迭代方法

  • every():每一项运行传入函数,每一项函数都是ture,则最终返回true
  • filter():每一项运行传入函数,函数返回true的项会组成数组后返回
  • forEach():每一项运行传入函数,没有返回值
  • map():每一项运行传入函数,返回由每次函数调用返回结果构成的数组
  • some():每一项运行传入函数,如果有一项函数返回true,则返回ture
        let numbers = [1,2,3,4,5,4,3,2,1];

        let everyResult = numbers.every((item,index,array) => item > 2 );
        console.log(everyResult);       //false

        let someResult = numbers.some((item,index,array) => item > 2 );
        console.log(someResult);        //true

some()和every()相似,对于some来说只要有个返回true就返回true,而every则是所有返回true
some():逻辑或
every():逻辑与


        let filterResult = numbers.filter((item,index,array) => item > 2);
        console.log(filterResult);      //[3, 4, 5, 4, 3]

filter()方法把符合条件的元素组成数组返回

        let mapResult = numbers.map((item,index,array) => item * 2);
        console.log(mapResult);         //[2, 4, 6, 8, 10, 8, 6, 4, 2]

map()方法则是把计算的结果组成数组返回
forEach()则是for循环来执行某些操作

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章           查看所有文章
加:2021-08-27 11:46:11  更:2021-08-27 11:48:46 
 
开发: 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/23 13:26:08-

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