js数组主要有哪些方法?主要参数有哪些?

2020-07-28 11:09发布

3条回答
小猴子
2楼 · 2020-07-30 10:25
/数组的方法     toString(),join(),pop(),push(),shift(),unshift(),splice(),concat(),slice() 
        //1.toString()与join()一样都是把数组转成以逗号分割的字符串
        var fruits=['Banana','Orange','Apple'];        var foods=['rice']
        console.log(fruits.toString()) // Banana,Orange,Apple
        console.log(fruits.join()) // Banana,Orange,Apple


        //2.pop() 删除数组的最后一项
        var fruits=['Banana','Orange','Apple'];        var str=fruits.pop(); //str=Apple
        console.log(fruits) //['Banana','Orange']
        //3.push() 往数组最后添加新数据
        var fruits=['Banana','Orange','Apple'];        var str=fruits.push('kkk') // str=4 返回的数组的长度        
        console.log(fruits) //['Banana','Orange','Apple','kkk'];    
        
        //4.shift() 删除数组最前面的一项
        var fruits = ["Banana", "Orange", "Apple", "Mango"];        var str=fruits.shift();   //str=Banana
        console.log(fruits) //["Orange", "Apple", "Mango"];    
        //5. unshift() 往数组开头添加新数据
        var fruits = ["Banana", "Orange", "Apple", "Mango"];        var str=fruits.unshift('ll');   //str=ll
        console.log(fruits) //["ll", "Banana", "Orange", "Apple", "Mango"]
        //6. splice() 方法可用于向数组添加新项或者删除数组
        //新增
        var fruits = ["Banana", "Orange", "Apple", "Mango"];
        fruits.splice(2, 0, "Lemon", "Kiwi");
        console.log( fruits)// ["Banana", "Orange", "Lemon", "Kiwi", "Apple", "Mango"]
         //删除
        var fruits = ["Banana", "Orange", "Apple", "Mango"];
        fruits.splice(2, 1);
        console.log(fruits)// ["Banana", "Orange", "Mango"]
        //7.concat()连接两个数组生成一个新数组
        var fruits= ["Banana", "Orange", "Mango"];        var fruits1=['222'];
        console.log(fruits.concat(fruits1)) //["Banana", "Orange", "Mango", "222"]
        //8.slice()  
        var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];        var citrus = fruits.slice(1); 
        console.log(citrus) // (4) ["Orange", "Lemon", "Apple", "Mango"]


爱梦 - 拿来吧你
3楼 · 2021-10-22 09:30

js常用数组:

1. Array.push(),向数组的末尾添加一个或多个元素,并返回新的数组长度。原数组改变。



2. Array.pop(),删除并返回数组的最后一个元素,若该数组为空,则返回undefined。原数组改变。



3. Array.unshift(),向数组的开头添加一个或多个元素,并返回新的数组长度。原数组改变。



4. Array.shift(),删除数组的第一项,并返回第一个元素的值。若该数组为空,则返回undefined。原数组改变。



5. Array.concat(arr1,arr2...),合并两个或多个数组,生成一个新的数组。原数组不变。



6. Array.join(),将数组的每一项用指定字符连接形成一个字符串。默认连接字符为 “,” 逗号。



7. Array.reverse(),将数组倒序。原数组改变。



8. Array.sort(),对数组元素进行排序。按照字符串UniCode码排序,原数组改变。

①从小到大



②从大到小



③按照数组对象中的某个值进行排序





9.Array.map(function),原数组的每一项执行函数后,返回一个新的数组。原数组不变。(注意该方法和forEach的区别)。

10.Array.slice(start,end),从start开始,end之前结束,不到end;如果不给end值,从start开始到数组结束。start可以给负值,-1表示数组最后位置,-2表示倒数第二个,以此类推,顾前不顾后。



11.Array.splice(index,howmany,arr1,arr2...) ,删除元素并添加元素,从index位置开始删除howmany个元素,并将arr1、arr2...数据从index位置依次插入。howmany为0时,则不删除元素。原数组改变。

12.Array.forEach(function),用于调用数组的每个元素,并将元素传递给回调函数。原数组不变。(注意该方法和map的区别,若直接打印Array.forEach,结果为undefined)。

13.Array.filter(function),过滤数组中,符合条件的元素并返回一个新的数组。



14.Array.every(function),对数组中的每一项进行判断,若都符合则返回true,否则返回false。

15.Array.some(function),对数组中的每一项进行判断,若都不符合则返回false,否则返回true。

16.Array.reduce(function),reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。


js数组常用方法:

在数组末尾插入元素

arr.push(value),在数组的末尾添加一个或多个元素,并返回数组的新长度。

例如:

let arr=[1,2,3,4,5]

var longth=arr.push(6,7);

console.log(arr, longth);

数组的arr的值变为arr[1,2,3,4,5,6,7];

length接收返回的是修改后数组的长度7;

删除数组末尾的元素

arr.pop()删除索引值最大的元素,并返回被删除的元素。

let arr=[1,2,3,4,5]

var delElement=arr.pop();

console.log(arr, delElement);

arr的值为[1,2,3,4] ,delElement的值为5

arr.pop()的与arr.length--的效果一样,但arr.length--没有返回值;

在数组的头部插入元素

unshift(value);在数组的头部添加一个或多个元素,并返回数组的新长度

let arr=[1,2,3,4,5]

var length= unshift(0);

console.log(arr,length);//arr的值为[0,1,2,3,4,5];length的值为更改后数组的长度6;

删除数组的头部元素

shift();删除索引为0的元素,并返回删除的元素

let arr=[1,2,3,4,5]

var delElement= unshift();

console.log(arr, delElement);

arr的值为[2,3,4,5];delElement的值为被删除的元素1;

数组和数组(或元素)的合并

concat()合并数组或元素,返回新的数组,原数组不会改变

let arr=[1,2,3,4,5]

let newArr=arr.concat([6,7,8],9,10);

console.log(newArr,arr);

newArr的值为[1,2,3,4,5,6,7,8,9,10];

arr的值还是原来的[1,2,3,4,5];

concat()还可以复制一个新数组;

let copyArr=arr.concat();//copyArr的值和arr的相同

在数组中添加删除或替换元素

splice();在任意位置添加或删除元素,返回删除或被替换的值,如果没有被删除或替换则返回空数组;

splice()方法会修改原数组的值;

只有一个值时,从当前位置删除到数组末尾

let arr=[1,2,3,4,5];

let num1=arr.splice(1)

console.log(num1;arr)//num=[2,3,4,5];arr=[1];

有两个值时,第一个值为删除的位置,第二个值为删除的个数;

let arr=[1,2,3,4,5];

let num1=arr.splice(2,3)//删除从索引值2开始的3个元素

console.log(num1;arr);// num1=[3,4,5],arr=[1,2]

有三个或者多个值时,第一个值为插入元素的位置,第二个值为替换的个数,后面的值都为插入的新元素;

let arr=[1,2,3,4,5];

let num2=arr.splice(2,1,6,7,8);//从索引值2开始替换掉1个元素,并且插入6,7,8

//如果第二个值为0,则不替换,直接插入6,7,8;

console.log(num2;arr);//被替换的值num2=[3]; arr=[1,2,6,7,8,4,5]

截取复制数组指定位置的内容

slice(开始位置,结束位置);第二个参数不写默认到尾部,只能从前往后截取;返回的值为截取到的内容形成的新数组;

let copyArr=arr.slice(); // slice()或者slice(0)都可以复制数组;

let arr=[1,2,3,4,5];

let newArr=arr.slice(1,3);//截取索引1到索引3(不包括3)的值;

console.log(newArr,arr);//newArr=[2,3];arr=[1,2,3,4,5];

slice()方法不会更改到原数组的值

指定字符连接字符串

join();数组的每个元素以指定的字符连接形成新字符串返回;

let arr=[1,2,3,4,5];

let newArr=arr.join()//默认用逗号连接

console.log(newArr);//newArr=1,2,3,4,5;

//如果连接符为空字符串,则会无缝连接

console.log(arr.join(“”));//输出为12345;

将数组进行排序

sort()将数组进行排序(升序),返回新数组,原数组也会改变;

let arr=[2,3,5,1,4];

let newArr=arr.sort();

console.log(newArr,arr);//newArr=[1,2,3,4,5]; arr r=[1,2,3,4,5]

将数组进行倒序

reverse();可以将数组进行倒序,并返回新数组,原数组也会随之改变;

let arr=[1,2,3,4,5];

let newArr=arr. reverse();

console.log(newArr,arr);//newArr=[5,4,3,2,1]; arr=[5,4,3,2,1];


慢半拍
4楼 · 2021-10-25 11:40

一、创建数组

1.使用数组字面量表示法

var arr4 = [];   //创建一个空数组 var arr5 = [20];   // 创建一个包含1项数据为20的数组 var arr6 = ["lily","lucy","Tom"];   // 创建一个包含3个字符串的数组

2. 使用 Array 构造函数

无参构造:

var arr1 = new Array();   //创建一个空数组

带参构造:

如果只传一个数值参数,则表示创建一个初始长度为指定数值的空数组

var arr2 = new Array(20);   // 创建一个包含20项的数组

如果传入一个非数值的参数或者参数个数大于 1,则表示创建一个包含指定元素的数组

var arr3 = new Array("lily","lucy","Tom");   // 创建一个包含3个字符串的数组 var array4 = new Array('23'); // ["23"]

3. Array.of 方法创建数组(es6 新增)

ES6 为数组新增创建方法的目的之一,是帮助开发者在使用 Array 构造器时避开 js 语言的一个怪异点。

Array.of()方法总会创建一个包含所有传入参数的数组,而不管参数的数量与类型。

let arr = Array.of(1, 2); console.log(arr.length);//2  let arr1 = Array.of(3); console.log(arr1.length);//1 console.log(arr1[0]);//3  let arr2 = Array.of( 2 ); console.log(arr2.length);//1 console.log(arr2[0]);// 2

4. Array.from 方法创建数组(es6 新增)

在 js 中将非数组对象转换为真正的数组是非常麻烦的。在 ES6  中,将可迭代对象或者类数组对象作为第一个参数传入,Array.from()就能返回一个数组。

function arga(...args) {  //...args剩余参数数组,由传递给函数的实际参数提供     let arg = Array.from(args);     console.log(arg); }  arga( arr1 , 26,  from ); // [ arr1 ,26, from ]

映射转换:

如果你想实行进一步的数组转换,你可以向  Array.from()方法传递一个映射用的函数作为第二个参数。此函数会将数组对象的每一个值转换为目标形式,并将其存储在目标数组的对应位置上。

function arga(...args) {        return Array.from(args, value => value + 1); }  let arr = arga( arr , 26,  pop ); console.log(arr);//[ arr1 ,27, pop1 ]

如果映射函数需要在对象上工作,你可以手动传递第三个参数给 Array.from()方法,从而指定映射函数内部的 this 值

const helper = {   diff: 1,   add(value) {     return value + this.diff;   } }  function translate() {  //arguments 是一个对应于传递给函数的参数的类数组对象   return Array.from(arguments, helper.add, helper);  }  let arr = translate( liu , 26,  man ); console.log(arr); // ["liu1", 27, "man1"]

二、数组方法

数组原型方法主要有以下这些:

  • join():用指定的分隔符将数组每一项拼接为字符串

  • push() :向数组的末尾添加新元素

  • pop():删除数组的最后一项

  • shift():删除数组的第一项

  • unshift():向数组首位添加新元素

  • slice():按照条件查找出其中的部分元素

  • splice():对数组进行增删改

  • fill():方法能使用特定值填充数组中的一个或多个元素

  • filter():“过滤”功能

  • concat():用于连接两个或多个数组

  • indexOf():检测当前值在数组中第一次出现的位置索引

  • lastIndexOf():检测当前值在数组中最后一次出现的位置索引

  • every():判断数组中每一项都是否满足条件

  • some():判断数组中是否存在满足条件的项

  • includes():判断一个数组是否包含一个指定的值

  • sort():对数组的元素进行排序

  • reverse():对数组进行倒序

  • forEach():ES5 及以下循环遍历数组每一项

  • map():ES6 循环遍历数组每一项

  • copyWithin():用于从数组的指定位置拷贝元素到数组的另一个指定位置中

  • find():返回匹配的值

  • findIndex():返回匹配位置的索引

  • toLocaleString()、toString():将数组转换为字符串

  • flat()、flatMap():扁平化数组

  • entries() 、keys() 、values():遍历数组


相关问题推荐

  • 回答 120

    相对前几年来说,要高上不少了,毕竟入行的人也是越来越多了,基础的工作对应想要参与的人群基数越来越大,但是对于高端人才的需求还是很多,人才还是相对稀缺性的。所以,想要学web或者其他技术也一样,别等,别观望。web前端就业方向特别多包括web前端开发...

  • 回答 25

    相对定位和绝对定位是定位的两种表现形式,区别如下:一、主体不同1、相对定位:是设置为相对定位的元素框会偏移某个距离。2、绝对定位:absolute 脱离文档流,通过 top,bottom,left,right 定位。二、特点不同1、相对定位:在使用相对定位时,无论是否进行移...

  • 抓包是什么意思?2020-04-01 17:36
    回答 7
    已采纳

    抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。抓包可以通过抓包工具来查看网络数据包内容。通过对抓获的数据包进行分析,可以得到有用的信息。目前流行的...

  • 回答 89

    常用的前端框架有Bootstrap框架、React框架、Vue框架、Angular框架、Foundation框架等等

  • 回答 65
    已采纳

    前端是目的就业前景非常不错的一个计算机技术,但是自学的话还是有一定难度的,网络上自学是碎片化的,同时互联网技术跟新换代快,自己的话比较吃力也学习不到最新的技术。

  • SSR 是什么意思?2020-03-20 18:56
    回答 6

    SSR就是一台服务器,可以利用 SSR 在远程的服务器上配置 SSR,使其能够成为 SSR 节点,这样本地电脑或者其它设备利用 SSR 节点实现 VPN 或者远程上网及游戏加速等方面。ShadowsocksR(简称 SSR)是 Shadowsocks 分支,在 Shadowsocks 的基础上增加了一些数据...

  • 回答 52
    已采纳

    计算机培训方向比较多,建议找适合自己的方向选择培训编程类:JAVA、WEB、Python、C/C++、C#等测试类:软件测试运维类:云计算、网络安全设计类:UI设计、3D建模等

  • 回答 11

    1、代码判断xAxis: {type: 'time',splitLine: {show: false},interval: 3600, // 设置x轴时间间隔axisLabel: {formatter: function(value, index) {return liangTools.unix2hm(value)}}},首先要把xAxis 显示类型设置成time,然后设置对应X轴......

  • 回答 8

    HTML5 + CSS + JavaScript 开发 跨平台重用代码 

  • 回答 4

    采用rem单位自动响应,并提供独有栅格化系统快速定义宽高、边距节省css代码量,同时总结各大型移动端网页,提供一套ui颜色搭配规范,尺寸规范,字体规范等。

  • 回答 10

    iView UI、ioni、SUI

  • 回答 6

     jQTouch 

  • 回答 4

    如果只是普通的移动端用vue react 或者dva 如果是要编译成小程序什么的或者混生 就用uni-app(对应vue语法)taro(对应react) 或者纯原生 这个没有限制的,自己怎么舒服怎么来

  • 回答 4

    因为可以运用在网页和小程序的开饭中,而且开源,用着便宜,企业都很喜欢

  • 回答 10

    一、Visual Studio Code下载地址:https://code.visualstudio.com/微软在2015年4月30日Build 开发者大会上正式宣布了 Visual Studio Code 项目:一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。Visual Stud...

  • 回答 9

    jQuery自带淡入淡出效果 https://www.w3school.com.cn/jquery/jquery_fade.asp 看看这个 

没有解决我的问题,去提问