JS数组方法在工作中的应用(手生啦,复习复习)
案例:1,arrHead为后端发来的表头信息;arrContent为后端发的表内容信息
2,要求对后端发来的id,数据日期,机构编号进行隐藏
var arrHead = ["id", "银行", "数据日期", "账号", "账户名称", "借贷方标志", "当月交易金额(元)", "法定节假日交易金额(元)", "法定节假日交易额占比", "机构编号"]
var arrContent = [["1", "上海银行", "201901", "10206929", "天津AAA投资管理有限公司", "借", 10000, 10000, 1, "BS001"], ["10", "上海银行", "201901", "14748703", "天津AAA投资管理有限公司", "借", 28253.33, 28253.33, 1, "BS001"], ["11", "上海银行", "201901", "15245119.5", "太仓市AAA诺办公用品商店", "借", 29753.33, 29753.33, 1, "BS001"], ["12", "上海银行", "201901", "15741536", "上海AAAA投资管理有限公司", "借", 31253.33, 31253.33, 1, "BS001"], ["13", "上海银行", "201901", "16237952.5", "天津AAA投资管理有限公司", "借", 32753.33, 32753.33, 1, "BS001"], ["14", "上海银行", "201901", "16734369", "太仓市AAA诺办公用品商店", "借", 34253.33, 34253.33, 1, "BS001"], ["15", "上海银行", "201901", "17230785.5", "上海AAAA投资管理有限公司", "借", 35753.33, 35753.33, 1, "BS001"], ["16", "上海银行", "201901", "17727202", "天津AAA投资管理有限公司", "借", 37253.33, 37253.33, 1, "BS001"], ["17", "上海银行", "201901", "18223618.5", "太仓市AAA诺办公用品商店", "借", 38753.33, 38753.33, 1, "BS001"], ["18", "上海银行", "201901", "18720035", "上海AAAA投资管理有限公司", "借", 40253.33, 40253.33, 1, "BS001"]]
解决方案:
//表头数据处理 利用数组的过滤方法获取去除id,数据日期,机构编号的新数组
var newArrHead = arrHead.filter(item=>{
return item !== "id" & item !== "数据日期" & item !== "机构编号"
})
console.log(newArrHead);
//表内容数据处理
//表内容为二维数组,过滤掉每一组表头目标索引所对应的数据,map会将所有回调函数的返回值组成新数组返回
var newArrContent = arrContent.map(item=>{
return item.filter((childItem,index)=>{
return arrHead[index] !== "id" & arrHead[index] !== "数据日期" & arrHead[index] !== "机构编号"
})
})
console.log(newArrContent,'---------------');
//需求二 若为数组类型,则保留小数点后两位
newArrContent.forEach(item=>{
item.forEach((childItem,index)=>{
if(typeof(childItem)==='number'){
item[index]=childItem.toFixed(2)
}
})
})
console.log(newArrContent);
JS中数组的方法
会改变原数组
array.push(item1, item2, ..., itemX)
array.pop()
array.unshift(item1,item2, ..., itemX)
array.shift()
array.reverse()
array.sort() array.sort(function (a, b) { return a - b }) 数字升序排序
array.splice(index,howmany,item1,.....,itemX)
array.fill(value, start, end)
不会改变原数组的方法
array.toString()
array.join(separator)
array.slice(start, end)
array.concat(array2,array3,...,arrayX)
array.indexOf(item,start)
array.lastIndexOf(item,start)
ES5新增
foreach() map() filter() some() every() reduce()