ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

6 JavaScript Array内置方法

2022-08-05 15:00:49  阅读:417  来源: 互联网

标签:arr 内置 console log JavaScript lxx var return Array


1 数据Array

数组中可以存放所有的数据类型,Array属于object类型

字面量方式创建(推荐大家使用这种方式,简单粗暴)

<script>
    //数组中可以存放所有的数据类型
    var shopping=['香蕉','苹果','牛奶'];
    alert(shopping);
    console.log(shopping); //object类型,Array属于object
    var rand=['tee','123',shopping,[1,23,4]];
    console.log(rand);

    //访问
    var item1=rand[0];
    console.log(item1);
    var a=rand[2][2];
    console.log(a);  //'牛奶'

    //修改
    rand[0]='榴莲';
    console.log(rand);

    //访问数组的长度
    console.log(rand.length);
</script>

使用构造函数(后面会讲)的方式创建 使用new关键词对构造函数进行创建对象,构造函数与后面的面向对象有关系

var colors = new Array();
//通过下标进行赋值
colors[0] = 'red';
colors[1] = 'green';
colors[2] = 'yellow';
console.log(colors);

2 concat()

数组的合并 concat()

var north = ['北京','山东','天津'];
var south = ['东莞','深圳','上海'];

var newCity = north.concat(south);
console.log(newCity)

var colors = ['red','blue'];
var newColors1 = colors.concat('green')
var newColors2 = colors.concat({name:'yellow'})

3 spline()

spline(start,del,items) 删除、插入、替换

var north = ['北京','山东','天津','alex'];
//删除
north.splice(0,2);
console.log(north); //['天津','alex']
//插入
north.splice(1,0,'lxx','wxx');
console.log(north); //['天津','lxx','wxx','alex']
//替换
north.splice(1,1,'姑娘');
console.log(north); //['天津','姑娘','wxx',,'alex']

4 join()

join() 将数组中元素使用指定的字符串连接起来,它会形成一个新的字符串

var score = [98,78,76,100,0];
var str = score.join('|');
console.log(str);  //"98|78|76|100|0"

5 slice()

slice(start,end); 返回数组的一段记录,顾头不顾尾

var arr = ['张三','李四','王文','赵六'];
var newArr  = arr.slice(1,3);
console.log(newArr);//["李四", "王文"]
var newArr  = arr.slice(-3,-1); //相当于(1,3)
console.log(newArr);//['李四',"王文"]

6 pop()

pop 移除数组的最后一个元素

var arr = ['张三','李四','王文','赵六'];
arr.pop();
console.log(arr);//["张三", "李四","王文"]

7 push()

push() 向数组最后添加一个元素

var arr = ['张三','李四','王文','赵六'];
arr.push('小马哥');
console.log(arr);//["张三", "李四","王文","赵六","小马哥"]

8 unshift()

unshift() 向数组最前添加一个元素

var arr = ['张三','李四','王文','赵六'];
arr.unshift('小马哥');
console.log(arr);//["小马哥","张三", "李四","王文","赵六"]

9 shift()

shift() 移除数组的最前一个元素

var arr = ['张三','李四','王文','赵六'];
arr.shift();
console.log(arr);//["李四","王文","赵六"]

10 reverse()

reverse() 翻转数组

var names = ['alex','xiaoma','tanhuang','angle'];
//4.反转数组
names.reverse();
console.log(names);  //["angle", "tanhuang", "xiaoma", "alex"]

11 indexOf()

indexOf() 位置方法,正向查找

var names = ['张三','lxx','王五','lxx','赵六'];
console.log(names.indexOf('lxx'));  //1
console.log(names.indexOf('lxx',2));  //3 从索引2开始查
console.log(names.indexOf('xxx',2));  //查不到结果为-1

12 lastIndexOf()

lastIndexOf() 位置方法,倒序查找

var names = ['张三','lxx','王五','lxx','赵六'];
console.log(names.lastIndexOf('lxx'));  //3
console.log(names.lastIndexOf('lxx',2));  //1 倒序查找索引2开始
console.log(names.lastIndexOf('xxx',2));  //查不到结果为-1

13 sort()

sort对数组排序

var names = ['alex','xiaoma','tanhuang','abngel'];
names.sort();  //默认升序
console.log(names);// ["alex", "angle", "tanhuang", "xiaoma"]
var data = [0,3,2,15,16];
data.sort();  //默认升序
console.log(data); //[0,15,16,2,3]  按照ASCII码排序,先排个位在排十位

function compare1(a,b) {
    /*if (a<b){
        return -1;
    }else if (a>b){
        return 1;
    }else {
        return 0;
    }8*/
    return a-b;
}
data.sort(compare1); //有序的升序排序
console.log(data);  

function compare2(a,b) {
    /*if (a<b){
        return 1;
    }else if (a>b){
        return -1;
    }else {
        return 0;
    }*/
    return b-a;
}
data.sort(compare2); //有序的倒序排序
console.log(data);  

14 isArray()

判断是否为数组:isArray()

 //布尔类型值 = Array.isArray(被检测的变量) ;
 console.log(Array.isArray(score))

15 tostring()

转换为字符串类型:tostring()

var arr = [1,23,33];
var a = arr.toString();
console.log(a)  //1,23,33  用逗号分隔

tostring()和toLocaleString()的区别:

var person1 = {
    toLocaleString : function () {
        return 'lxx';
    },
    toString : function () {
        return 'wxx';
    }
}
var person2 = {
    toLocaleString : function () {
        return 'mjj';
    },
    toString : function () {
        return 'zjj';
    }
}
var people = [person1,person2];
console.log(people);
console.log(people.toString());
console.log(people.toLocaleString());
//打印结果:
//wxx,zjj
//lxx,mjj

16 filter()

迭代方法

filter() 将数组进行过滤

var numbers = [1,2,4,6,13,20];
var filterResult = numbers.filter(function (item,index,array) {
    console.log('item '+item); //item:数据的每一项内容
    console.log('index '+index); //index:表示索引
    console.log('array '+array); //array:原来的数组
    return item > 10;
})
console.log(filterResult);  // 13, 20

17 map()

map() 将数组的每一项元素进行操作

var numbers = [1,2,4,6,13,20];
var mapresult = numbers.map(function (item,index,array) {
    return item * 2;
})
console.log(mapresult);

应用:

var oldArray = [
  {name:'lxx',age:18},
  {name:'mjj',age:28},
  {name:'李四',age:38},
];
var newNames = oldArray.map(function (item,index) {
    return item.name
})
var newAges = oldArray.map(function (item,index) {
    return item.age
})
console.log(newNames);
console.log(newAges);
//输出:
["lxx", "mjj", "李四"]
[18, 28, 38]

18 for

for 数组遍历

方式一:
var numbers = [1,2,4,6,13,20];
for (var i=0; i<mapresult.length; i++){
    console.log(mapresult[i]);
}

方式二:
var arr = [123,234,56]
for (var i in arr){
    console.log(i,arr[i]);
}
//0 123
//1 234
//2 56

19 forEach()

forEach() 遍历操作

var numbers = [1,2,4,6,13,20];
numbers.forEach(function (item,index,array) {
    console.log(item);
})

20 split()

split() 分割字符串

var s = 'where is how';
var r = s.split(' ');
console.log(r); // ["where", "is", "how"]

21 includes()

includes() 判断数据是否在数组中存在

var num = [1,2,3,4];
console.log(num.includes(2)); //true

22 reduce

标签:arr,内置,console,log,JavaScript,lxx,var,return,Array
来源: https://www.cnblogs.com/it-lkp/p/16554322.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有