JS 数组访问方法

1. Array.form() 防范从一个类似数组或可迭代对象中创建一个新的数组实例

var arr1 = {
    '0': 'c',
    '1': 'd',
    '2': 'f',
    length: 3
};
var str = 'hello';
var arr2 = [6, 4, 2];

var put1 = Array.from(arr1);
var put2 = Array.from(str);
var put3 = Array.from(arr2, x=>x + x);

console.log(put1);            //[ 'c', 'd', 'f' ]
console.log(arr1);            //{ '0': 'c', '1': 'd', '2': 'f', length: 3 }    
console.log(put2);            //[ 'h', 'e', 'l', 'l', 'o' ]
console.log(str);             //hello
console.log(put3);            //[ 12, 8, 4 ]
console.log(arr2);            //[ 6, 4, 2 ]

2. Array.isArray() 判断值是否为数组

var arr1 = [1,4,8];
var str1 = 'hello';

console.log(Array.isArray(arr1));       //true
console.log(arr1);                      //[ 1, 4, 8 ]
console.log(Array.isArray(str1));       //false
console.log(str1);                      //hello

3. Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型 

var str1 = Array.of('arr');
var str2 = Array('arr');
var arr1 = Array.of(5,3,8);
var arr2 = Array(5,3,8);
var arr3 = Array.of(5);
var arr4 = Array(5);

console.log(str1);          //[ 'arr' ]
console.log(str2);          //[ 'arr' ]
console.log(arr1);          //[ 5, 3, 8 ]
console.log(arr2);          //[ 5, 3, 8 ]
console.log(arr3);          //[ 5 ]
console.log(arr4);          //[ , , , ,  ]

 4. concat() 方法合并两个或多个数组,返回一个新数组

var arr1 = [5, 8, 3];
var arr2 = ['t', 'y', 'i'];
var arr3 = arr1.concat(arr2);

console.log(arr1);      //[ 5, 8, 3 ]
console.log(arr2);      //[ 't', 'y', 'i' ]
console.log(arr3);      //[ 5, 8, 3, 't', 'y', 'i' ]

5. includes() 方法用来判断是否包含一个指定的值,如果包含则返回 true,不包含返回 false

var arr1 = [6,4,3];
var arr2 = ['g','u','i','o'];

var tag1 = arr1.includes(6);
var tag2 = arr1.includes(5);
var tag3 = arr2.includes('o');
var tag4 = arr2.includes('k');

console.log(tag1);          //true
console.log(tag2);          //false
console.log(arr1);          //[ 6, 4, 3 ]
console.log(tag3);          //true
console.log(tag4);          //false
console.log(arr2);          //[ 'g', 'u', 'i', 'o' ]

6. join() 方法,连接所有数组元素组成字符串

var arr1 = [5, 3, 2, 8];
var arr2 = ['h', 'e', 'l', 'l', 'o'];

var str1 = arr1.join();
var str2 = arr1.join('')
var str3 = arr2.join();
var str4 = arr2.join('+');

console.log(str1);              //5,3,2,8
console.log(str2);              //5328
console.log(arr1);              //[ 5, 3, 2, 8 ]
console.log(str3);              //h,e,l,l,o
console.log(str4);              //h+e+l+l+o
console.log(arr2);              //[ 'h', 'e', 'l', 'l', 'o' ]

7. slice() ,抽去数组中的一段元素组合成一个新数组,参数 start——起始位置,end——结束位置。

var arr1 = [3, 4, 2, 1, 7, 9];
var arr2 = arr1.slice(3, 5);

console.log(arr2);          //[ 1, 7 ]
console.log(arr1);          //[ 3, 4, 2, 1, 7, 9 ]

8. toSource(),返回一个字符串,代表改数组的源代码(只有火狐浏览器支持)

//火狐浏览器
var arr = [3,5,6];
console.log(arr.toSource());        //[3, 5, 6]

//谷歌浏览器
var arr = [3,5,6];
console.log(arr.toSource());        //VM105477:3 Uncaught TypeError: arr.toSource is not a function

 9. toString(),返回一个由数组元素组合而成的字符串

var arr1 = [4, 6, 4, 'h', 'e', 'l', 'l', 'o'];
var arr2 = arr1.toString();

console.log(arr2);      //4,6,4,h,e,l,l,o
console.log(arr1);      //[ 4, 6, 4, 'h', 'e', 'l', 'l', 'o' ]

10. toLocaleString(),返回一个所有数组组合而成的本地化后的字符串

var arr1 = [6,4,3];
var arr2 = arr1.toLocaleString();

console.log(arr2);          //6,4,3
console.log(arr1);          //[ 6, 4, 3 ]

11. indexOf(),返回数组中第一个与指定值相等的元素的位置,如果不存在,返回-1

var arr = [6,4,3,2,8,'o','k'];

console.log(arr.indexOf(6));            //0
console.log(arr.indexOf(5));            //-1
console.log(arr.indexOf('o'));          //5
console.log(arr.indexOf('p'));          //-1
console.log(arr);                       //[ 6, 4, 3, 2, 8, 'o', 'k' ]

12. lastIndexOf(),返回数组中最后一个与指定值相等的元素的位置,不存在,返回-1

var arr = [5, 3, 9, 'o', 'k', 5, 'o'];

console.log(arr.lastIndexOf(5));            //5
console.log(arr.lastIndexOf(6));            //-1
console.log(arr.lastIndexOf('o'));          //6
console.log(arr.lastIndexOf('p'));          //-1
console.log(arr);                           //[ 5, 3, 9, 'o', 'k', 5, 'o' ]
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值