前端常用的JavaScript操作示例

  介绍

这篇“前端常用的JavaScript操作示例“文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“前端常用的JavaScript操作示例”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。

JavaScript的特点

1. JavaScript主要用来向HTML页面添加交互行为。   2. javascript可以直接嵌入到HTML页面,但写成单独的js文件有利于结构和行为的分离。   3. javascript具有跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行。

例:删除“10 km"中的公里

var  str =,“10 km"//方法一:   var  res =, str.replace(& # 39;公里# 39;,,& # 39;& # 39;)//方法二:   var  res =, str.split(& # 39;公里# 39;). join () & # 39; & # 39;//加入方法不传参默认使用逗号作为分隔符
2。数组去重
var  arr =, (1,, 2,, 3,, 1,, 2]//方法一:   var  res =, […new 设置(arr)]//方法二:   var  res =, Array.from (new 集(arr))//方法三:   var  res =, [];   for  (var 小姐:拷贝arr), {   if  (res.indexOf (arr[我],===,1),{   res.push (arr[我])   }   }//方法四:   var  res =, []   arr.map((项目,,指数),=祝辞,{   if  (res.indexOf(项),===,1){   res.push(项)   }   })

附:Array.from()的用法:

Array.from(加勒比海盗,mapfn thisArg):用于将两类可以把对象转换为真正的数组。

<李>

类似数组的对象(必须有长度属性)

<李>

可遍历的对象(部署了迭代器接口的,字符串,ES6新增的地图和集)。

参数:第一个是数组,必传;第二个是一个函数(类似映射函数),对数组元素进行操作后再返回数组,可选;第三个是对于这关键字的指向,可选。

var  obj1 =, {   0:& # 39;一个# 39;   1:,& # 39;b # 39;   2:,& # 39;c # 39;   }   var  arr1 =, Array.from(其中obj1)   console.log (arr1),//, []/*,1只类数组对象,具有长度属性,而普通对象是没有长度属性的。*//*,2只类数组对象的属性名必须为非负整数,对象中的属性名会被当做字符串处理。*/=,{var  obj2    0:& # 39;一个# 39;   1:,& # 39;b # 39;   2:,& # 39;c # 39;   长度:2   }   var  arr2 =, Array.from methoda ()   console.log (arr2),//, (“a",,“b"】      var  obj3 =, {   0:& # 39;一个# 39;   1:,& # 39;b # 39;   2:,& # 39;c # 39;   长度:4   }   var  arr3 =, Array.from (obj3)   console.log (arr3),//, (“a",,“b",,“c",,未定义)      var  obj4 =, {   0:& # 39;一个# 39;   1:,& # 39;b # 39;   2:,& # 39;c # 39;   长度:3   }   var  arr4 =, Array.from (obj4, item =祝辞,item  +, 1)   console.log (arr4),//, (“a1",,“b1",,“c1"】      var  obj5 =, {   “1”:,“a",   “0”:,“b",   长度:2   }   var  arr5 =, Array.from (obj5)   console.log (arr5),//, (“b",,“a"]
3。将伪数组对象转化为数组
var  obj =, {   0:& # 39;一个# 39;   1:,& # 39;b # 39;   长度:2   }//方法一:   Array.from (obj)//方法二:   Array.prototype.slice.call (obj),//方法三:   Array.prototype.concat.apply ([], obj)//方法四:   Array.prototype.splice.call (obj, 0),//,返回被删除的元素,原对象obj会被破坏掉   console.log (obj),//, obj:,{长度:,0}//,上述的Array.prototype 均可用[]代替
4。数组或对象的深拷贝
//方法一:   JSON.parse (JSON.stringify (obj))//方法二:递归遍历   function  clone  (obj), {   var 才能;res =, obj.constructor ===, Array  ?, [],:, {}   for 才能;(var 小姐:拷贝obj), {   ,,,res[我],=,typeof  obj[我],===,& # 39;对象# 39;,?,克隆(obj[我]),:,obj[我],//,即obj[我]为数组或对象,继续拷贝   ,,}   ,return  res   }//附:数组浅拷贝   var  arr =,(& # 39;一个# 39;,,(& # 39;b # 39;,, (& # 39; c # 39;]]]//1 .使用片()   var  res =, arr.slice (0)   console.log (res),//,[& # 39;一个# 39;,,(& # 39;b # 39;,, (& # 39; c # 39;]]]   res [1] [1],=, & # 39; b # 39;   console.log (res),//,[& # 39;一个# 39;,,(& # 39;b # 39;,, (& # 39; b # 39;]]]   console.log (arr),//,[& # 39;一个# 39;,,(& # 39;b # 39;,, (& # 39; b # 39;]]]//2 .使用concat ()   var  arr =,(& # 39;一个# 39;,,(& # 39;b # 39;,, (& # 39; c # 39;]]]      var  res =, [] .concat (arr)   res [1] [1],=, & # 39; b # 39;   console.log (res),//,[& # 39;一个# 39;,,(& # 39;b # 39;,, (& # 39; b # 39;]]]   console.log (arr),//,[& # 39;一个# 39;,,(& # 39;b # 39;,, (& # 39; b # 39;]]]//Object.assign()也只能实现对象的浅拷贝,它只是一级属性复制,比浅拷贝多深拷贝了一层   var  obj =, {:,“a",, b:, {c:,“d"}}   var  res =, Object.assign ({}, obj)   res.b.c=,“e"   console.log (res),//, {:,“a",, b:, {c:,“e"}}   console.log (obj),//, {:,“a",, b:, {c:,“e"}}

前端常用的JavaScript操作示例