搜索
首页web前端html教程前端常用的JavaScript操作(代码实例)

本篇文章给大家带来的内容是关于前端常用的JavaScript操作(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

1.删除字符串中指定的一段字符

例:删除"10km"中的km

var str = "10km"

//方法一:
var res = str.replace('km', '')

//方法二:
var res = str.split('km').join('')
//join方法不传参默认使用逗号作为分隔符

2.数组去重

var arr = [1, 2, 3, 1, 2]

//方法一:
var res = [...new Set(arr)]

//方法二:
var res = Array.from(new Set(arr))

//方法三:
var res = [];
for (var i in arr) {
	if (res.indexOf(arr[i] === -1) {
		res.push(arr[i])
	}
}

//方法四:
var res = []
arr.map((item, index) => {
	if (res.indexOf(item) === -1){
		res.push(item)
	}
})

附:Array.from()的用法:

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

  1. 类似数组的对象(必须有length属性)

  2. 可遍历的对象(部署了Iterator接口的,String,ES6新增的Map和Set)。

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

var obj1 = {
	0: 'a',
	1: 'b',
	2: 'c'
}
var arr1 = Array.from(obj1)
console.log(arr1) // []

/* 1. 类数组对象,具有length属性,而普通对象是没有length属性的。*/
/* 2. 类数组对象的属性名必须为非负整数,对象中的属性名会被当做字符串处理。*/

var obj2 = { 
	0: 'a',
	1: 'b',
	2: 'c',
	length: 2
}
var arr2 = Array.from(obj2)
console.log(arr2) // ["a", "b"]

var obj3 = {
	0: 'a',
	1: 'b',
	2: 'c',
	length: 4
}
var arr3 = Array.from(obj3)
console.log(arr3) // ["a", "b", "c", undefined]

var obj4 = {
	0: 'a',
	1: 'b',
	2: 'c',
	length: 3
}
var arr4 = Array.from(obj4, item => item + 1)
console.log(arr4) // ["a1", "b1", "c1"]

var obj5 = {
	"1": "a",
	"0": "b",
	length: 2
}
var arr5 = Array.from(obj5)
console.log(arr5) // ["b", "a"]

3.将伪数组对象转化为数组

var obj = {
	0: 'a',
	1: 'b',
	length: 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: {length: 0}

// 上述的Array.prototype 均可用[]代替

4.数组或对象的深拷贝

//方法一:
JSON.parse(JSON.stringify(obj))

//方法二:递归遍历
function clone (obj) {
  var res = obj.constructor === Array ? [] : {}
  for (var i in obj) {
    res[i] = typeof obj[i] === 'object' ? clone(obj[i]) : obj[i] // 即obj[i]为数组或对象,继续拷贝
  }
  return res
}

//附:数组浅拷贝
var arr = ['a', ['b', ['c']]]

//1.使用slice()
var res = arr.slice(0)
console.log(res) // ['a', ['b', ['c']]]
res[1][1] = 'b'
console.log(res) // ['a', ['b', ['b']]]
console.log(arr) // ['a', ['b', ['b']]]

//2.使用concat()
var arr = ['a', ['b', ['c']]]

var res = [].concat(arr)
res[1][1] = 'b'
console.log(res) // ['a', ['b', ['b']]]
console.log(arr) // ['a', ['b', ['b']]]

//Object.assign()也只能实现对象的浅拷贝,它只是一级属性复制,比浅拷贝多深拷贝了一层
var obj = {a: "a", b: {c: "d"}}
var res = Object.assign({}, obj)
res.b.c= "e"
console.log(res) // {a: "a", b: {c: "e"}}
console.log(obj) // {a: "a", b: {c: "e"}}

5.没有块级作用域导致内层变量覆盖外层变量。

var date = new Date().getDate();
function f(){
	console.log(date);
	if(false){
	    var date = 0;//变量提升
   }
}
f();//undefined

6.ES6中标签模板的用法:

let a = 1;
let b = 2;
function tag(arr, value1, value2){
    console.log(arr); //["hello ", " world ", ""]
    console.log(value1); //3
    console.log(value2); //2
}
tag`hello ${a + b} world ${a * b}`;
/**
如果函数名后的模板字符串中没有变量,则直接将其作为函数参数调用。
如果存在变量则先将模板字符串处理成多个参数,再调用函数。

处理规则:
1.默认该函数第一个参数为数组,该数组的成员是模板字符串中那些没有变量替换的部分。
2.变量替换只发生在数组的第一个成员与第二个成员之间、第二个成员与第三个成员之间。
以此类推,故arr中第三个成员为"",原因是${a * b}的变量替换发生在第二个成员与第三个成员之间,
所以必须存在第三个成员。
3.函数的其他参数,都是模板字符串各个变量被替换后的值。

函数形如:
function tag(stringArr, ...value){}
*/

以上就是对的全部介绍,如果您想了解更多有关HTML视频教程,请关注PHP中文网。

以上是前端常用的JavaScript操作(代码实例)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:csdn。如有侵权,请联系admin@php.cn删除
了解HTML,CSS和JavaScript:初学者指南了解HTML,CSS和JavaScript:初学者指南Apr 12, 2025 am 12:02 AM

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML的角色:构建Web内容HTML的角色:构建Web内容Apr 11, 2025 am 12:12 AM

HTML的作用是通过标签和属性定义网页的结构和内容。1.HTML通过到、等标签组织内容,使其易于阅读和理解。2.使用语义化标签如、等增强可访问性和SEO。3.优化HTML代码可以提高网页加载速度和用户体验。

HTML和代码:仔细观察术语HTML和代码:仔细观察术语Apr 10, 2025 am 09:28 AM

htmlisaspecifictypefodyfocusedonstructuringwebcontent,而“代码” badlyLyCludEslanguagesLikeLikejavascriptandPytyPythonForFunctionality.1)htmldefineswebpagertuctureduseTags.2)“代码”代码“ code” code code code codeSpassSesseseseseseseseAwiderRangeLangeLangeforLageforLogageforLogicIctInterract

HTML,CSS和JavaScript:Web开发人员的基本工具HTML,CSS和JavaScript:Web开发人员的基本工具Apr 09, 2025 am 12:12 AM

HTML、CSS和JavaScript是Web开发的三大支柱。1.HTML定义网页结构,使用标签如、等。2.CSS控制网页样式,使用选择器和属性如color、font-size等。3.JavaScript实现动态效果和交互,通过事件监听和DOM操作。

HTML,CSS和JavaScript的角色:核心职责HTML,CSS和JavaScript的角色:核心职责Apr 08, 2025 pm 07:05 PM

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

HTML容易为初学者学习吗?HTML容易为初学者学习吗?Apr 07, 2025 am 12:11 AM

HTML适合初学者学习,因为它简单易学且能快速看到成果。1)HTML的学习曲线平缓,易于上手。2)只需掌握基本标签即可开始创建网页。3)灵活性高,可与CSS和JavaScript结合使用。4)丰富的学习资源和现代工具支持学习过程。

HTML中起始标签的示例是什么?HTML中起始标签的示例是什么?Apr 06, 2025 am 12:04 AM

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。

如何利用CSS的Flexbox布局实现菜单中虚线分割效果的居中对齐?如何利用CSS的Flexbox布局实现菜单中虚线分割效果的居中对齐?Apr 05, 2025 pm 01:24 PM

如何设计菜单中的虚线分割效果?在设计菜单时,菜名和价格的左右对齐通常不难实现,但中间的虚线或点如何...

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能