介绍
这篇“前端常用的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操作示例