9个极其强大的JavaScript技巧

作者: xusx 分类: JavaScript 发布时间: 2019-12-10 16:07 浏览:124

下面分享9个功能强大的JavaScript技巧。

1.全部替换

我们知道string.replace()函数仅替换第一次出现的情况。
您可以通过在正则表达式的末尾添加/g来替换所有出现的内容。

var example = "potato potato";
console.log(example.replace(/pot/, "tom")); 
// "tomato potato"
console.log(example.replace(/pot/g, "tom")); 
// "tomato tomato"

2.提取唯一值

通过使用Set对象和Spread运算符(展开操作符),我们只能使用唯一值创建一个新数组。

var entries = [1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 4, 2, 1]
var unique_entries = [...new Set(entries)];
console.log(unique_entries);
// [1, 2, 3, 4, 5, 6, 7, 8]

3.将数字转换为字符串

我们只需要使用带空引号集的串联运算符。

var converted_number = 5 + "";
console.log(converted_number);
// 5
console.log(typeof converted_number); 
// string

4.将字符串转换为数字

我们需要的只是+运算符。

请注意:它仅适用于“字符串数字”。

the_string = "123";
console.log(+the_string);
// 123

the_string = "hello";
console.log(+the_string);
// NaN

5.随机排列数组中的元素

var my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(my_list.sort(function() {
    return Math.random() - 0.5
})); 
// [4, 8, 2, 9, 1, 3, 6, 5, 7]

6.展平多维数组

只需使用Spread运算符。

var entries = [1, [2, 5], [6, 7], 9];
var flat_entries = [].concat(...entries); 
// [1, 2, 5, 6, 7, 9]

7.短路条件

让我们来看这个例子:

if (available) {
    addToCart();
}

可以通过简单地使用变量和函数来缩短它:

available && addToCart()

8.动态属性名称

我一直以为我必须先声明一个对象,然后才能分配动态属性,其实可以像下面这样。

const dynamic = 'flavour';
var item = {
    name: 'Coke',
    [dynamic]: 'Cherry'
}
console.log(item); 
// { name: "Coke", flavour: "Cherry" }

9.使用长度调整/清空数组

如果我们要调整数组的大小:

var entries = [1, 2, 3, 4, 5, 6, 7];  
console.log(entries.length); 
// 7  
entries.length = 4;  
console.log(entries.length); 
// 4  
console.log(entries); 
// [1, 2, 3, 4]

如果我们要清空数组:

var entries = [1, 2, 3, 4, 5, 6, 7]; 
console.log(entries.length); 
// 7  
entries.length = 0;   
console.log(entries.length); 
// 0 
console.log(entries); 
// []

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论 取消回复

电子邮件地址不会被公开。 必填项已用*标注

更多阅读
  • Python请求库requests使用指南
  • 为什么网络社区搞不下去?
  • 国产大模型(188个)
  • 每年问自己40个问题
  • Arduino的MicroPython安装程序说明
  • Arduino和ESP32简单对比
  • ArduinoIDE下ESP32-CAM开发板测试WiFi失败的解决方法
  • python常用的第三方包
  • 写日记比思考更好
  • 解决pip install x ERROR: Could not install packages due to an OSError...问题
  • Django搭建
  • PyQt5 教程系列(七)控件
  • Flutter实战·读书笔记1:DOM树与响应式编程
  • Python虚拟环境virtualenv的安装和使用
  • 解决python3往csv写入汉字变为乱码
  • 女儿的画作——动物的脚印
  • console.log的禁用与恢复
  • PyQt5系列教程(五)事件和信号
  • Python终端显示设置颜色、粗体、下划线等样式
  • 嵌入式大神推荐的网站
标签云
Apache arduino asp composer css electron ESP32 Excel fetch ffmpeg gif gzip jQuery koa linux MacOSX MicroPython MySQL nginx nodejs npm openssl php POST pyenv PyQt5 Python seo session socket.io sql SVN ubuntu virtualenv vscode wordpress 天气 安全 小程序 截图 测试 画 算法 西联收款 视频

深圳SEO优化公司一夜之间网站被优化网站优化与搭建费用报价广州白云网站优化邢台网站免费优化开发区网站推广优化惠州网站排行优化咸宁品牌网站优化怎么做服装网站seo优化平台在线网站优化北京网站关键字优化企业网站的优化问题鄂州外包网站优化企业网站推广中搜索引擎优化英文网站如何优化怎么降低和优化网站跳出率汕尾网站优化单价网站优化引流量怎么做淄博沂源电子商务网站优化优化型网站网站标题优化注意事项碱基优化网站网站主机选择与优化网站搜索优化瓢盟乚云速捷金华网站优化测试网站推广优化外包哪家强优化网站需要什么重点如何提高网站优化速度南宁网站排名优化揭阳网站优化工具许昌网站seo优化哪里好歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化