最新通知
js 数组Accessor不会改变数组自身的值
阅读次数:632 最后编辑时间:2022年04月07日

概述

Accessor “访问方法” 不会改变数组自身的值;

1.[].join


作用:将数组(或一个类数组对象)的所有元素连接到一个字符串中;

传参:(指定一个字符串来分隔数组的每个元素【选】);

返回值:一个所有数组元素连接的字符串;

实例

//标准用法
let arr = ['one', 'two', 'three'];
let myarr1 = arr.join();      // myVar1的值变为"one,two,three"
let myarr2 = arr.join(', ');  // myVar2的值变为"one, two, three"

2.[].concat


作用:合并两个或多个数组;

传参:(将数组和/或值连接成新数组【选】);

返回值:合并后的数组;

实例

//标准用法
let arr = ['a', 'b', 'c'];
let arr2 = [1, 2, 3];

arr.concat(arr2);
//['a', 'b', 'c', 1, 2, 3]

3.[].slice


作用:方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组;

传参:(开始索引【选】,结束索引【选】);

返回值:截取后的数组;

实例

//标准用法
let fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];
let citrus = fruits.slice(1, 3);
console.info(citrus);     //['Orange','Lemon']

//类数组转数组
function list() {
    return [].slice.call(arguments)
}
let list1 = list(1, 2, 3);     //[1, 2, 3]

4.[].toString


作用:返回一个字符串,表示指定的数组及其元素;

传参:(无);

返回值:转化成的字符串;(=[].join());

实例

//标准用法
let monthNames = ['Jan', 'Feb', 'Mar', 'Apr'];
let myVar = monthNames.toString();     // assigns "Jan,Feb,Mar,Apr" to myVar.

5.[].includes


作用:判断一个数组是否包含一个指定的值;

传参:(要查找的元素);

返回值:true或 false;

实例

//标准用法
let arr = [1, 2, 3];
arr.includes(2); // true
arr.includes(4); // false

6.[].indexOf


作用:在数组中可以找到一个给定元素的第一个索引;

传参:(要查找的元素);

返回值:找不到-1,找得到索引;

实例

let arr = [2, 5, 9];
arr.indexOf(2);     // 0
arr.indexOf(7);     // -1