把date的数据处理成data2这样的

2022-05-31T08:01:29.png

最简单的一种方法:Object.values

const obj = {};
data.forEach((item)=> {
      const { a , b , c} = item
      if(!obj[a]){
        obj[a] = {a,list:[{b , c}]}
      }else{
        obj[a]['list'].push({b , c})
      }
})
console.log(Object.values(obj),'obj')



element中Pagination分页功能的自定义序号

//自定义序号

<el-table-column type="index" :index="indexMethod" label="序号" width="120" />

//配置自定义函数

indexMethod(index) {
  return (this.page - 1) * this.pagesize + index + 1
}

// 解决删除时只有一条数据
      if (this.list.length === 1 && this.page > 1) {
        this.page--
      }
//然后重新渲染数据

效果:

2022-06-01T11:10:43.png

数组扁平化
递归

    const newArr = arr => [].concat(...arr.map(item => Array.isArray(item) ? newArr(item) : item))
    console.log(newArr([1, [2, 3], [4, [5], 6], 7]));

flat方法--二维数组扁平化
flat 用于将多维数组拉平(扁平化),不影响原数组,返回新的数组。

[1, 2, [3, [4]]].flat() // [1, 2, 3, [4]]

仅有一个参数depth,用于指定拉平的深度,默认值为1。若depth指定为非正数,将返回原数组,指定为Infinity,无论多少层都将扁平化为一维数组。

例如:

[1, 2, [3, [4]]].flat(2) // [1, 2, 3, 4]
[1, 2, [3, [4]]].flat(0) // [1, 2, [3, [4]]]
[1, 2, [3, [4]]].flat(Infinity) // [1, 2, 3, 4]

Array.from
Array.from() 是用来把伪数组转真数组的

console.log(Array.from('foo'));
// expected output: Array ["f", "o", "o"]

console.log(Array.from([1, 2, 3], x => x + x));
// expected output: Array [2, 4, 6]

生成一个数字6-72的数组
Array.from({ length: 67 }).map((item,index)=>index+6)

Array.from()可以接收两个参数,第一个参数时伪数组,第二个是一个回调函数(item,index)=>{}
可以用来操作第一个参数 如上所示

new Array()

new Array(1,2)  参数长度大于一,则生成一个由参数组成的新数组 
//[1,2]

new Array(10)  参数只有一个时,生成数组,长度为传入的参数.值为空
//[空属性 × 10]

字符串去0

String.prototype.startsWith()

2022-06-12T03:45:27.png

startsWith() 方法用来判断当前字符串是否以另外一个给定的子字符串开头,并根据判断结果返回 truefalse

const str1 = 'Saturday night plans';

console.log(str1.startsWith('Sat'));
// expected output: true

console.log(str1.startsWith('Sat', 3));
// expected output: false

参数传0,根据返回值处理即可

补零

String.prototype.padStart()

padStart() 方法用另一个字符串填充当前字符串 (如果需要的话,会重复多次),以便产生的字符串达到给定的长度。从当前字符串的左侧开始填充。
2022-06-12T03:44:13.png

'abc'.padStart(10);         // "       abc"
'abc'.padStart(10, "foo");  // "foofoofabc"
'abc'.padStart(6,"123465"); // "123abc"
'abc'.padStart(8, "0");     // "00000abc"
'abc'.padStart(1);          // "abc"

小程序获取数据返回的带有div的字符串
小程序获取数据返回的带有div的字符串,渲染出来后image有空白间隙问题

  // 使用字符串的 replace() 方法,为 img 标签添加行内的 style 样式,从而解决图片底部空白间隙的问题
  res.message.goods_introduce = res.message.goods_introduce.replace(/<img /g, '<img style="display:block;" ')

发表评论