一、图片引入
项目中往往不使用相对路径引入文件,一般都使用@实现绝对路径引入文件。
 方式一:【适用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'}, ...]