数组中的常用函数

数组常用函数

增加的方法:

1. push: 加到后面,插入一个新数据到末尾位

2. unshift: 加到前面,插入一个新数据到开始位

数组最好的同类型的数据

var arr1 = ["a"]
console.log(arr1);
类型为你当前里面存储的数据类型   返回值为新的数组长度
console.log(arr1.push('s'));
console.log(arr1.unshift('d'));

某个商品的分类里面有对应的商品 矿泉水。他是按照销量进行排名 有一天 红牛的销量大于矿泉水 旺仔牛奶的销量小于矿泉水。现在需要将他们放在一个数组中 并且打印排名最后的商品

var shopType = ['怡宝矿泉水']
shopType.push('纯真牛奶');
shopType.push('乐虎');
console.log( shopType[shopType,length-1]);

删除方法:

pop:删除最后一个 ,返回删除的元素

shift:删除第一个,返回删除的元素

var arr = new Array(40,50,60);
console.log(arr.pop);   //打印删除元素
console.log(arr);   //打印数组
console.log(arr.shift);  //打印删除元素
console.log(arr);   //打印数组

定义一个数组 接收一个数据

如果对应的输入的是1的话 删除第一个元素 打印删除的元素 再打印对应的数组

如果输入的是2的话 就添加需要用户输入添加的元素 追加到后面

如果输入的是3的话 就删除最后一个元素 打印删除的元素 再打印对应的数组

如果输入的是4的话 就添加需要用户输入添加的元素 追加元素到第一个
 

function fn(){
    var arr1 = ['hello','world','helloWorld']
    var userInput = prompt() //接收一个string类型的值
    switch(userInput){ //判断接收的数据为什么
        case '1'://数据为1
            var rmStr = arr1.shift()
            console.log(rmStr);
            break;
        case '2'://数据为2
            var inputAdd = prompt("请输入你要添加的内容")
            arr1.push(inputAdd)
            break
        case '3'://数据为3
            var rmStr = arr1.pop()
            console.log(rmStr);
            break
        case '4'://数据为4
            var inputAdd = prompt("请输入你要添加的内容")
            arr1.unshift(inputAdd)
            break
        default://都不是 打印输出出错并且调用函数
            console.log("输入出错");
            fn() 
    }
    console.log(arr1);
}
fn()

reverse 反转

将数组元素全倒过来 会影响之前的数组 没有参数 返回值为倒转过来的数组

var arr = ['a','b','c','d']
var strArr = arr.reverse() //反转 将数组元素全倒过来 
console.log(strArr);
// strArr 和 arr俩个其实指向的是一个变量 所以操作 strArr会影响arr 操作arr也会影响strArr
console.log(strArr == arr); //true
console.log(strArr === arr); //true
console.log(arr);

sort 排序

sort 方法默认(无参的方式)按照ascii码进行比较 对应的顺序为从小到大 返回值为排序好的数组

里面可以指定参数 参数是一个function 这个里面有俩个参数 a b 如果是返回为 a-b 为1 就是正序 相反如果返回 b-a 就是-1 那就是倒序

var arr1 = [15,70,3,6,8,7]
arr1.sort() //排序 重点
console.log(arr1);

 指定比较的方法进行比较

arr1.sort(function(a, b) {
	return a - b //返回的是1 1就是正序 a-b -1就是倒序 b-a
})
console.log(arr1);
var numArr = arr1.sort(function(a, b) {
	return b - a //返回的是1 1就是正序 a-b -1就是倒序 b-a
})
console.log(arr1);
console.log(numArr);

concat 合并

进行数组合并操作 对应的返回值为一个新的数组 不改变原本的数组

传入的参数 是一个数组 也可以是单个元素 连接到后面

var arr = [1,2,3,4]
var arr1 = [4,5,6,7]
//连接方法
var newArr =  arr.concat(arr1)
console.log(arr);// 还是 1 2 3 4
console.log(newArr);
var newArr1 = arr.concat(3)
console.log(newArr1);

slice 截取

截取方法 slice截取对应数组的某一段内容组成一个新的数组 返回的是一个新的数组

不会改变原本的数组 参数为开始下标和结束下标(不包含结束的下标)

var arr1 = [4,5,6,7]
var sliceArr = arr1.slice(1,3)
console.log(sliceArr);//5 6
console.log(arr1.slice(0,1));//4
console.log(sliceArr.slice(0,1));//5
console.log(arr1.slice(arr1.length-1,arr1.length));//截取最后一个

join 连接

join连接 连接成字符串 返回值为string

不会影响原本的数组

var arr = [1,2,3]
var str  = arr.join() //相当于全部连一块 默认以,分割 arr.join() == arr.join(',')
console.log(str);
var str1 = arr.join("/") 
console.log(str1);

splice 删除
会改变之前的数组 返回的是一个删除的数组
如果是1个参数 那么就是从这个指定的参数下标删到结束
如果是2个参数 那么就是从指定的参数下标位置 删对应的指定个数
如果是3个参数 或者以上的参数 那么就是从指定的参数下标位置 删对应的指定个数 再将后面的数据填入对应的删除位置
如果第二个参数为0 那么返回的是一个空数组 不删除 单纯的将对应的数据插入到指定的下标
删除 开始下标 删除的个数(个数可以被省略 删到最后)

var arr = [1,2,3,4]
var newArr = arr.splice(0,2)// 1 2
console.log(newArr); // 1 2
console.log(arr); // 3 4
var arr1 =  [5,6,7,8]
var spliceArr = arr1.splice(1) //从下标1开始删除 删到最后
console.log(spliceArr); // 6 7 8
console.log(arr1);//5

将删除位置的数据替换

var arr2 = [6,7,8,9]
var spliceArr1 = arr2.splice(1,2,10,11)// 删除7 8 将 10和11放到7 8的位置
console.log(spliceArr1); // 7 8
console.log(arr2); // 6 10 11 9

不删除 插入元素到指定的位置

var arr3 = [1,2,3]
var insertArr = arr3.splice(1,0,'a') //不删除元素 插入a到数组中去
console.log(insertArr); //空数组 
console.log(arr3); //插入到指定的位置 1 a 2 3

indexOf 正序查找下标

根据对应的值找下标 找到了返回对应第一次出现的下标 找不到返回-1

var arr = ['a','b','c','b']
console.log(arr.indexOf('b'));//indexOf找的是第一次出现的位置 默认从下标0开始找 没有找到返回-1
console.log(arr.indexOf('b',0));//1
console.log(arr.indexOf('b',2));//从下标1开始找 下标还是原本的下标
var arr1 =  [1,1,2,3,4,1]
console.log(arr1.indexOf(1));//0
console.log(arr1.indexOf(1,2));//5
console.log(arr1.indexOf(1,10));//-1

lastIndexOf 反序查找下标

从后往前 根据对应的值找下标 找到了返回对应第一次出现的下标 找不到返回-1

console.log(arr1.lastIndexOf(1));//5
console.log(arr1.lastIndexOf(1,2));//1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340