工作中常用的数据处理

150 阅读1分钟

原生jsAPI

数组:map、filter、find、forEach、reduce、concat、push、unshift、pop、slice、splice、json、reserver、sort、include

map: 用于数组数据结构渲染

jsx
{i.questionOptionVOS.map((j, index) =>        <dd key={index} style={ i.answer.indexOf( j.optionCode ) === -1  ?             { color:''} : {  color: '#1A8CFE' }}      >      {j.optionCode}:{j.optionName}      </dd>  ),)}

map: 用于数组数据遍历生成新数组/遍历数组

[1,2,3]/[{name:1,id:2},{name:1,id:2},{name:1,id:2}].map(i => ({name:i.name,id:i.id,sex:xxx}))

filter:常用于过筛数组数据

[1,2,3,4]/[{name:1,id:2},{name:1,id:3},{name:1,id:2}].filter(i => i%2/i.id%2)

find:常用于查找数组数据

[1,2,3,4]/[{name:1,id:2},{name:1,id:3},{name:1,id:2}].find(i => i===1/i.name === 1);

forEach:常用于数组数据遍历

[1,2,3]/[{name:1,id:2},{name:1,id:2},{name:1,id:2}].forEach(i => console.log(i))

reduce:常用于数据的累加

[1,2,3,4].reduce((curr,sum) => curr+sum,0)

reduce:与concat结合使用扁平二位数组

concat:常用于数组的合并(浅拷贝)

[[1,2],2,[3,4]].reduce((curr,sum) => curr.concat(sum),[])  
[[1,2],2,[3,4]].flat(1)     //也可以使用flat实现扁平数组   

push、unshift、pop:用于数组(栈)的尾插入、头插入以及尾删除

var arr = [1,2,3];
arr.push(4);
arr.unshift(0);
arr.pop()  //返回删除的值

slice:用于数组的截取

var arr = [1,2,3];
arr.slice(0,2);  //开始位置,结束位置之前 返回截取的数组,不改变原数组
arr

splice:用于数组的新增、删除、插入

var arr = [1,2,3]
arr.splice

字符串:split、slice、replace

split:用于字符串分割

's/p/l/i/t'.split('/')

slice: 用于字符串截取

var str = 'slice'
str.slice(0,3);
str

replace: 用于字符串的替换(通常结合正则使用)

str.replace('e','t')
str