js数组常用方法

合并数组

可以用concat()或者扩展运算符[...x]
示例:

//使用扩展运算符
let a=["lisa","coco","sam"];
let b=["jack"];
let arr=[...a,...b];
console.log(arr);//['lisa', 'coco', 'sam', 'jack']

//使用concat()函数
let a=["lisa","coco","sam"];
let b=["jack"];
let c=["lili"];
let arr=a.concat(b,c);
console.log(arr);//['lisa', 'coco', 'sam', 'jack', 'lili']

判断数组中是否存在某个元素

1.使用includes()函数,找到返回true,未找到返回false

let a=["lisa","coco","sam"];
let arr=a.includes("lisa");
console.log(arr);//true

2.使用indexOf()函数,找到返回下标,未找到返回-1

let a=["lisa","coco","sam"];
let f1=a.indexOf("coco");
console.log(f1);//1,找到返回下标
let f2=a.indexOf("code");
console.log(f2);//1,未找到返回-1

3.使用array.some(x=>{return x==“xx”})方法,找到返回true,未找到返回false
使用some方法更简洁,一旦找到元素,迭代就会中止,从而避免了不必要的迭代周期。

let a=["lisa","coco","sam"];
let f1=a.some(item=>{
  return item=="coco"
});
console.log(f1);//true
let f2=a.some(item=>{
  return item=="code"
});
console.log(f2);//false

4.使用array.filter(x=>{return x==“xx”}),判断它返回的length长度是否大于0,如果大于0表示存在该值,如果为0表示未找到。

let a=["lisa","coco","sam"];
let f1=a.filter(item=>{
  return item=="coco"
});
console.log(f1.length>0);//true
let f2=a.filter(item=>{
  return item=="code"
});
console.log(f2.length>0);//false

5.find用于返回数组中满足条件的第一个元素的值,如果没有,返回undefined

let a=["lisa","coco","sam"];
let f1=a.find(item=>{
  return item=="coco"
});
console.log(f1);//coco
let f2=a.find(item=>{
  return item=="code"
});
console.log(f2);//undefined

作用:
Array对象用于在单个变量中存储多个值。

属性

1.获取数组长度,使用length属性,例如x.length;

数组常用方法

1.获取数组元素个数及通过下标获取某个元素
使用下标获取,例如x[0]获取数组x的第一个元素,x[x.length-1]获取数组的最后一个元素。
2.Array.from()
从类数组对象或者可迭代对象中创建一个新的数组实例。比如从一个Set对象创建一个数组就可以使用Array.from()
3.Array.isArray()
用来判断某个变量是否是一个数组对象。
5.Array.of()
根据一组参数来创建新的数组实例,支持任意的参数数量和类型。

访问方法,不会修改原数组

(1)concat()
合并多个数组组成一个新数组。

(2)includes()
判断当前数组是否包含某指定的值,如果是返回 true,否则返回 false。

(3)join()
连接所有数组元素组成一个字符串,默认用逗号连接。

(4)slice()
根据索引提取当前数组中的一段数组组成一个新数组。

(5)toString()
返回一个由所有数组元素组合而成的字符串。

(6)toLocaleString()
返回一个由所有数组元素组合而成的本地化后的字符串。遮蔽了原型链上的

(7)indexOf()
从数组第一个元素开始查找,如果找到,则返回元素的索引,未找到,则返回-1。

(8)lastIndexOf()
逆向查找数组中的元素(从数组中最后一个元素开始倒着查找),如果找到,则返回元素的索引,而且不再继续查找,未找到则返回-1。

修改器方法,会修改原数组

(1)copyWithin()
在数组内部,将一段元素覆盖到另一段元素上,会改变原数组,但是不会改变数组的长度。

(2)fill()
将数组中指定区间的所有元素的值,都替换成某个固定的值。

(3)pop()
删除数组的最后一个元素,并返回这个元素。

(4)shift()
删除数组的第一个元素,并返回这个元素。

(5)push()
在数组的末尾增加一个或多个元素,并返回数组的新长度。

(6)unshift()
在数组的开头增加一个或多个元素,并返回数组的新长度。

(7)reverse()
颠倒数组中元素的排列顺序,即原先的第一个变为最后一个,原先的最后一个变为第一个。

(8)sort()
对数组元素进行排序,并返回当前数组。

(9)splice()
从数组的某个元素位置开始删除指定数量的元素,然后添加指定数量的元素。

迭代遍历方法

(1)forEach()
为数组中的每个元素执行一次回调函数。

(2)entries()
返回一个数组迭代器对象,该迭代器会包含所有数组元素的键值对。

(3)every()
如果数组中的每个元素都满足测试函数,则返回 true,否则返回 false。

(4)some()
如果数组中至少有一个元素满足测试函数,则返回 true,否则返回 false。

(5)filter()
将所有在过滤函数中返回 true 的数组元素放进一个新数组中并返回。

(6)find()
找到第一个满足测试函数的元素并返回那个元素的值,如果找不到,则返回 undefined。

(7)findIndex()
找到第一个满足测试函数的元素并返回那个元素的索引,如果找不到,则返回 -1。

(8)map()
返回一个由回调函数的返回值组成的新数组。

(9)keys()
keys() 方法返回一个包含数组中每个索引键的Array Iterator对象。

const array1 = ['a', 'b', 'c'];
const iterator = array1.keys();
for (const key of iterator) {
  console.log(key);
}

(10)reduce()
从左到右为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。

(11)reduceRight()
和reduce()方法相反,它是从右向左累加。

(12)values()
返回一个数组迭代器对象,该迭代器会包含所有数组元素的值。
values() 方法返回一个新的 Array Iterator 对象,该对象包含数组每个索引的值

const array1 = ['a', 'b', 'c'];
const iterator = array1.values();
for (const value of iterator) {
  console.log(value);
}

创建数组

var arr=new Array("a","b","c");
console.log(arr);//["a", "b", "c"]
var f=['a','b',123];
console.log(f);//["a", "b", 123]

获取数组长度

var person=['lili','coco','tom','lisa'];
console.log(person.length);//4

访问数组元素

1.通过索引访问数组元素。

var person=['lili','coco','tom','lisa'];
console.log(person[0]);//lili
console.log(person[person.length-1]);//lisa

JavaScript 数组的索引是从0开始的,第一个元素的索引为0,最后一个元素的索引等于该数组的长度减1。

var fruits=["Apple","banana","orange"];
console.log(fruits);//["Apple", "banana", "orange"],输出数组的内容
console.log(fruits.length);//3,读取数组的长度
console.log(fruits[2]);//orange,通过索引访问数组的某个值
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值