JavaScript数组方法

数组的创建方式

var arr = []; // 空数组
var arr1 = new Array(); //创建一个空数组,
var arr2 = new Array(2); //创建一个数组长度为2的空数组,
var arr1 = new Array(2,3); //创建一个数组元素为2,3的数组,

 

1、toString()把数组转为字符串,以逗号隔开每个数组元素

var fruits = ["Banana","Orange","Apple","Mango"];

fruits.toString(); ===> Banana,Orange,Apple,Mango

2、join() 以固定字符数组转字符串 类似于toString(),但join可以设定分隔符,

fruits.join(" * ") ===> Banana * Orange * Apple * Mango

3、pop() 末尾删除 从数组中删除最后一个元素,返回值是删除的元素

4、push() 末尾添加 在数组末尾添加一个元素,返回值是新数组的长度

5、shift() 首位删除 删除数组的首个元素,并且把其他元素索引移至更低,返回值为被删除的元素

6、unshift() 首位添加 在数组首个元素前添加一个新的元素,并且更新元素索引,返回新数组的长度

7、length 提供了简易的向数组添加元素,fruits[fruits.length] = "Kiwi"    //向fruits追加 "Kiwi"

8、delete 数组属于对象,所以也可以使用delete来删除元素      delete fruits[ 0 ]    // 删除第一个元素

9、splice() 删除或者替换数组元素可用于向数组添加新项   

fruits.splice(2, 0, "Lemon", "Kiwi");   //第一个参数2,规定添加元素的位置,第二个参数0定义删除多少元素     

fruits.splice(0, 1); //删除多少个元素    1就删除一个,2就删除两个,从数组首个元素开始

10、concat() 连接数组通过合并(连接)现有数组创建一个新的数组

1var myGirls = ["Emma", "Isabella"];
var myBoys = ["Jacob", "Michael", "Ethan"];
var myChildren = myGirls.concat(myBoys);
2var arr1 = ["Emma", "Isabella"];
var arr2 = ["Jacob", "Michael", "Ethan"];
var arr3 = ["Joshua", "Daniel"];

var myChildren = arr1.concat(arr2, arr3);
3var arr1 = ["Emma", "Isabella"];
var myChildren = arr1.concat(["Jacob", "Michael", "Ethan"]);

11、slice() 截取数组用现有数组的某个片段切出一个新的数组

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(2);  //切数组元素,从首个元素开始,参数代表切除几个元素  只有start时,返回的是剩余的数组元素(可以理解为删除几个元素,从0索引号开始)

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1,3); // 第一个参数为起始位置(除去),第二个参数为结束位置  截取的元素,包含起始位置,不包含结束位置

12、reverse()  颠倒数组

// 颠倒数组顺序
        var arr = ['pink', 'red', 'blue'];
        arr.reverse();
        console.log(arr);

 13、排序sort()  sort 方法是按字母顺序排序,排序数字时,是按数的最高位来排序,需要在sort方法内写一个匿名方法function(a,b){ return a-b 是升序    // return b-a  是降序 },这样就可以正确排序数了

复制代码
// sort 排序是按字母顺序排序的  数字排序需要有改动
        var arr1 = [11, 77, 32, 45, 69];
        arr1.sort(); //一位数字排序还可以 2位以上排序就不对了
        console.log(arr1);
        arr1.sort(function(a, b) {
            // return a - b; //升序
            return b - a; //降序
        })
        console.log(arr1);
复制代码

 14、获取数组元素索引号 indexOf(元素) lastIndexOf(元素)

indexOf(想要获取的元素),从左到右查询,只返回第一个查到的元素的索引号,如果数组中不存在就返回 -1
lastIndexOf(想要获取的元素),从右到左查询,只返回第一个查到的元素的索引号,如果数组中不存在就返回 -1

15、根据索引号返回字符

charAt() 方法charAt(index) index为索引号
Array[] 方法Array[index] index为索引号

 16、数组去重

核心算法,遍历旧数组,把每个元素都和新数组比较,如果有相同的元素就不存入新数组,反之则存入新数组
封装一个数组去重的方法,创建一个新数组,遍历旧数组,判断是否存在,通过indexOf(查询的元素)来判断,如果返回的是-1就使用push()存入新数组。

复制代码
// 封装一个去重的方法 
        function unique(arr) {
            var newArr = [];
            for (var i = 0; i < arr.length; i++) {
                if (newArr.indexOf(arr[i]) == -1) {
                    newArr.push(arr[i]);
                }
            }
            return newArr;
        }
        console.log(unique(['c', 'a', 'z', 'a', 'x', 'c', 'y', 'a']));
复制代码

17、数组的检测方式

instanceof 运算符

// 1、instanceof 运算符
        var arr = [];
        console.log(arr instanceof Array);

isArray 方法 ie9以上才支持

 // 2、isArray 是一个方法
        console.log(Array.isArray(arr)); // ie9以上才支持  优先于instanceof

18、substr 截取

// substr  截取字符
        var c = '改革春风吹满地';
        console.log(c.substr(2, 2));

19、replace 替换

// replace 替换字符
        var d = 'aobocodo';
        console.log(d.replace('o', '9'));
        while (d.indexOf('o') != -1) {
            d = d.replace('o', '9');
        }
        console.log(d);

20、split 字符转数组

// split 根据分隔符 字符转为数组
        var e = 'a,b,c,d';
        console.log(e.split(','));

 

posted @   二王戏木  阅读(43)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示