一、图片引入
项目中往往不使用相对路径引入文件,一般都使用@
实现绝对路径引入文件。
方式一:【适用vue2,不适用vue3】
<img :src="require('@/assets/images/home/bottom_can.png')" alt="">
方式二:【适用vue2,vue3】
import noselected from '@/assets/image/activity/noselected_icon.png'
<img :src="noselected" alt="">
二、Array.prototype.reduce()
reduce()
方法对数组中的每个元素按序执行一个提供的reducer
函数,每一次运行reducer
会将先前元素的计算结果作为参数传入,最后将结果汇总为单个返回值。
语法:
1.reduce(callbackFn)
2.reduce(callbackFn, initialValue)
参数:
callbackFn(accumulator, currentValue, currentIndex)
:为数组中每个元素执行的函数,其返回值将作为下一次调用callbackFn
时的accumulator
参数,对于最后一次调用。返回值将作为reduce()
的返回值。该函数被调用时将传入以下参数:
- accumulator:上一次调用
callbackFn
的结果,在第一次调用时,如果指定了initialValue
则为指定的值,否则为array[0]
的值。 - currentValue:当前元素的值。在第一次调用时,如果指定了
initialValue
,则为array[0]
的值,否则为array[1]
。 - currentIndex:
currentValue
在数组中的索引位置,在第一次调用时,如果指定了initialValue
则为0
,否则为1
。
initialValue
:可选,初始值。
实例:reduce实现数组内元素累加
let arr = [1, 2, 3, 4, 5, 6]
console.log(arr.reduce((pre, cur) => pre + cur, 0)); // 21
reducer逐个遍历数组元素,每一步都将当前元素的值与前一步的结果(该结果是之前所有步骤结果的总和)执行操作【reducer内的操作】——直到没有更多需要相加的元素。
三、toString()
默认情况下,Object.prototype.toString()
不接受任何参数,但Number.prototype.toString()
和BigInt.prototype.toString()
方法接受一个可选的radix
参数。
radix
指定要用于数字到字符串的转换的基数(从2到36)。如果未指定radix
参数,则默认值为10。
如果转换的基数大于10,则会使用字母来表示大于9的数字,比如基数为16【其实就是十六进制】的情况,则使用a到f的字母来表示10到15。
如果基数没有指定,则使用10。
如果对象是负数,则会保留符号。即使radix是2时也是如此:返回的字符串包含一个符号(1)前缀和正数的二进制表示,不是数值的二进制补码。
进行数字到字符串的转换时,建议用小括号将要转换的目标括起来,防止出错。
示例:
let x = 6
console.log(x.toString(2)); // 输出 '110'【二进制】
console.log((254).toString(16)); // 输出 'fe' 【十六进制】console.log((-10).toString(2)); // 输出 '-1010'
console.log((-0xff).toString(2)) // 输出 '-11111111'console.log([...Array(25)].map((_, i) => ({value: (i + 10).toString(36) + (i + 1)
})))
// [{value: 'a1'}, {value: 'b2'}, {value: 'c3'}, ...]