js数组菜鸟教程,js数组方法总结

  js数组菜鸟教程,js数组方法总结

  本文为大家带来一些javascript中数组常见操作的知识,包括创建数组,判断数组是否,类数组与数组的转换,数组的去重。希望对你有帮助。

  推荐:javascript学习教程

  

创建数组

  创建数组是一项基本功,其方法主要有以下几种:

  const arr=[1,2,3]

  //数组文字常量arr=[,]

  //三元素孔数组(孔数组)const arr=new Array(4)

  //[,]const arr=新数组(4,2)

  //[4,2]常数arr=Array.of(1,2,3)

  //[1,2,3]其中,我们一般用数组文字法最多。

  

判断是不是数组

  判断是否为数组的方法主要有:

  //数组的方法1 [1,2,3]instance

  //方法二[1,2,3]。构造函数===数组

  //方法三object . prototype . tostring . call([1,2,3])== [objectarray]

  //方法四Array.isArray([1,2,3])

  //方法五(兼容写入)函数isArray(arr){

  返回Array.isArray?

  array . isArray(arr):object . prototype . tostring . call(arr)==[objectarray] }一般来说,最常用的方法应该是isarray方法。

  

类数组和数组的转换

  我们有时候遇到的数据结构并不是纯数组,一般归类为“类数组”。可以通过以下方法将类数组转换为纯数组:

  const x=document . query selector all( a );

  //方法1 array . prototype . slice . call(x);

  //方法2 array . from(x);Array.from(x,mapFn,this arg);

  //方法三[.x]

  //方法四函数toArray(x){

  设res=[]

  对于(第x项){

  资源推送(项目)

  }

  return res}

  //方法五Array.apply(null,x)

  //方法6[]concat . apply([],x)方法5和6本质上利用了apply的特性,即传递给apply的第二个参数(数组或类数组)会被转换成一个参数列表,这些参数会被发送给被调用的方法(new Array或concat)。

  

数组去重

  数组去重,本质上是要比较两个元素是否相等,如果相等就丢弃一个元素。为了判断准确,使用Object.is进行比较。

  

1)利用 set 去重

  集合要求元素不重复,因此可以在将数组转换为集合后删除重复的元素,然后再将其转换回数组。

  唯一函数(arr){

  返回Array.from(新集合(arr))

  //return [.new set (arr)]}:

2)双重循环 + splice

  外层循环所有元素,内层循环当前元素之后的所有元素。如果发现相等,使用拼接删除一个。请记住,内圈应该一次返回一个空格,否则会遗漏一些元素。

  唯一函数(arr){

  for(设I=0;长度;i ){

  for(设j=I ^ 1;长度;j ){

  if(Object.is(arr[i],arr[j]){

  排列拼接(j,1)

  j -

  }

  }

  }

  Return arr}

3)新建数组 + includes

  创建一个新数组,每次将元素添加到数组之前,检查该元素是否已经存在于数组中:

  唯一函数(arr){

  const res=[]

  arr.forEach((item,index)={

  //也可以if(res.indexOf(item)==-1),但是不能正确判断NaN。

  如果(!资源,包括(项目)){

  资源推送(项目)

  }

  })}

4)reduce + includes

  函数唯一(arr){

  return arr.reduce((acc,cur)={

  //return acc.includes(cur)?acc : acc.concat(cur)

  返回acc.includes(cur)?acc : [.acc,cur]

  },[])}

5)新建数组 + sort

  根据sort的机制(对每个元素调用toStrng,然后在字符串级别排序),让相等的元素聚在一起。创建一个新数组。在向数组中添加元素之前,检查该元素是否等于前一个元素。如果是,则是重复元素:

  唯一函数(arr){

  arr .排序()

  const res=[arr[0]]

  for(设I=1;长度;i ){

  如果(!Object.is(arr[i],arr[I-1]){

  推回(arr[i])

  }

  }

  Return res}

6)新建数组 + 利用对象属性

  这个方法其实和“新数组包含”是一样的。创建一个新数组,并在将元素添加到数组之前检查该元素是否已被用作对象的属性:

  //对象属性值可以被认为是元素重复的次数function unique(arr){

  const res=[]

  const obj={}

  arr.forEach((item,index)={

  如果(!obj[item]){

  资源推送(项目)

  obj[item]=1

  }否则{

  对象[项目]

  }

  })

  Return res}这里检测到对象的属性名,属性名本质上是一个字符串,所以会认为obj[true]和obj[true]相等,导致元素true或者元素 true 不放入新数组。

  

7)利用 map

  本质上与上述方法相同,但不需要创建新的数组:

  唯一函数(arr){

  let map=新地图()

  对于(arr项){

  如果(!map.has(item)){

  map.set(item,true)

  }

  }

  返回[.map.keys ()]}:

8)filter + indexOf

  去掉重复的元素。另一种理解方式是保留那些索引等于第一次出现时的索引的元素。这样的元素可以通过filter过滤掉并放入数组中:

  唯一函数(arr){

  Return arr.filter ((item,index)=index==arr . indexOf(item))}使用index of的缺点是不能正确判断NaN。

  推荐:javascript学习教程以上是总结分享JavaScript数组常用操作的详细内容。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • slice 数组,js中的slice()方法,JS数组方法slice()用法实例分析
  • js数组转字符串,字符串转数组方法,JS 数组转字符串
  • js数组转字符串,字符串转数组方法,JS 数组转字符串,JS数组转字符串实现方法解析
  • js数组筛选的方法,js 多条件筛选
  • js数组筛选的方法,js 多条件筛选,JS实现数组过滤从简单到多条件筛选
  • js数组的常用10种方法详解图,js数组的常用10种方法详解图片
  • js数组的常用10种方法详解图,js数组的常用10种方法详解图片,JS数组的常用10种方法详解
  • js数组去重的几种方式,js数组去重最简单的方法
  • js数组去重的几种方式,js数组去重最简单的方法,js数组去重的11种方法
  • js数组去重最简单的方法,数组去重方法js
  • js数组去重最简单的方法,数组去重方法js,七种JS实现数组去重的方式
  • js数组中去除重复值的几种方法是什么,js数组中去除重复值的几种方法有哪些
  • js数组中去除重复值的几种方法是什么,js数组中去除重复值的几种方法有哪些,js数组中去除重复值的几种方法
  • js初始化一个数组,js数组初始化的三种方式
  • js初始化一个数组,js数组初始化的三种方式,js二维数组定义和初始化的三种方法总结
  • 留言与评论(共有 条评论)
       
    验证码: