数组API(下)

不会改变原数组的方法

1、concat() 将传入的数组或元素与原数组合并,组成新数组并返回 还可进行浅复制

var arr = [1, 9, 9, 9, 10, 0, 4];
var array = arr.concat(0, 9, [2, 3]);
console.log(array);// [1, 9, 9, 9, 10, 0, 4, 0, 9, 2, 3]
console.log(arr);// [1, 9, 9, 9, 10, 0, 4] ,由此可见原数组并未被修改

2、slice() (包前不包后) 将数组中一部分元素浅复制存入新的数组对象,并且返回这个数组对象
arr.slice([i, [num]])

  • i 开始位置的索引,num如果有值则为结束位置的索引(不包括此位置)。
  • 参数为空时,同concat()
  • 若i的值为负数,数组长度为length,则从 length+i的位置开始,num如果有值,只能是比 i大的负数,否则将返回空数组。
var arr = ['小红', '小绿', '小黑'];
	console.log(arr.slice(0,1));//["小红"]
	console.log(arr.slice(-2,-1));//["小绿"]
	console.log(arr.slice());//["小红", "小绿", "小黑"]

3、join() 将数组中的所有元素连接成一个字符串

var arr = ['小红', '小绿', '小黑'];
	console.log(arr.join( ' ' )); //小红 小绿 小黑
	console.log(arr.join());//小红,小绿,小黑
	console.log(arr.join(' + ')); //小红 + 小绿 + 小黑

4、toString() 返回数组的字符串形式,以逗号隔开

var arr = ['小红', '小绿', '小黑'];
var str = arr.toString();
console.log(str); //小红,小绿,小黑

5、toLocaleString() 类似toString()

6、indexOf() 用于查找元素在数组中第一次出现时的索引,若没有,则返回-1
indexOf(ele, num)
indexOf使用严格相等(=)去匹配数组中的元素==

  • num缺省默认为0;
  • 若超出数组长度,则返回-1;
  • 若为负值,数组长度为length,则从数组的第 length + num项开始往数组末尾查找;
  • 若length + num<0 整个数组都会被找到。
var array = ['a', 'b', 'c','11'];
	console.log(array.indexOf('c')); // 2
	console.log(array.indexOf('d',-1)); // -1 表示从最后一个元素往后查找,找不到返回-1
	console.log(array.indexOf('b',-5)); // 1 由于5大于数组长度,此时将查找整个数组,因此返回1
	console.log(array.indexOf(11)); // 由于是严格匹配 ===,所以不会匹配到字符串'11'
发布了25 篇原创文章 · 获赞 1 · 访问量 614

猜你喜欢

转载自blog.csdn.net/qq_41238274/article/details/103541652