JS常见问题及常用方法 解构赋值:123const { a, b, c, d, e } = obj;// ES6的解构赋值虽然好用。但是要注意解构的对象不能为undefined、null。否则会报错,故要给被解构的对象一个默认值。const { a, b, c, d, e } = obj || {}; 合并数组:12345678910111213// 数组合并const a = [1, 2, 3];const b = [1, 5, 6];const c = [...new Set([...a, ...b])]; //[1,2,3,5,6]// 对象合并const obj1 = { a: 1,};const obj2 = { b: 1,};const obj = { ...obj1, ...obj2 }; //{a:1,b:1} includes:12345678const condition = [1, 2, 3, 4];if (condition.includes(type)) { //...}console.log([1, 2, 3].includes(2) === true);console.log([1, 2, 3].includes(4) === false);console.log([1, 2, NaN].includes(NaN) === true); indexOf:12345678910111213141516171819// 查找一个元素是否在数组中,并返回索引string.indexOf(searchValue[, fromIndex])其中,string是要搜索的字符串,searchValue是要查找的子字符串,fromIndex是可选参数,表示搜索的起始位置。例如,以下代码将返回字符串"hello"中子字符串"lo"的索引位置:var str = "hello";var pos = str.indexOf("lo");console.log(pos); // 输出 3如果未找到子字符串,则返回-1:var str = "hello";var pos = str.indexOf("world");console.log(pos); // 输出 -1另外,如果指定了fromIndex参数,则从该位置开始查找子字符串。例如,以下代码将从索引位置2开始搜索字符串中的子字符串:var str = "hello";var pos = str.indexOf("l", 2);console.log(pos); // 输出 2 filter 和 find123456// find方法中找到符合条件的项,就不会继续遍历数组。const arr = [1, 2, 3, 4, 5];const result = arr.find((item) => { return item === 3;}); JS 常用代码段随机获得一个布尔值123const randomBoolean = () => Math.random() >= 0.5;console.log(randomBoolean()); 判断今天是否为工作日123456const isWeekday = (date) => date.getDay() % 6 !== 0;console.log(isWeekday(new Date(2021, 0, 11)));// Result: true (Monday)console.log(isWeekday(new Date(2021, 0, 10)));// Result: false (Sunday) 从日期中获取时间1234567通过使用 toTimeString() 方法,在正确的位置对字符串进行切片,我们可以从提供的日期中获取时间或者当前时间。const timeFromDate = (date) => date.toTimeString().slice(0, 8);console.log(timeFromDate(new Date(2021, 0, 10, 17, 30, 0)));// Result: "17:30:00"console.log(timeFromDate(new Date()));// Result: will log the current time 滚动到页面底部1234export const scrollToBottom = () => { window.scrollTo(0, document.documentElement.clientHeight);}; 滚动到页面顶部1234const goToTop = () => window.scrollTo(0, 0);goToTop();// Result: will scroll the browser to the top of the page js基础 JS常见问题及常用方法 http://example.com/2023/02/10/JS常见问题及常用方法/ 作者 dinghw 发布于 2023年2月10日 许可协议 浅拷贝与深拷贝 上一篇 vue中key的作用 下一篇