JavaScript编程题(⼋)——es6练习1、后端数据处理
从某数据库接⼝得到如下值:
{
rows: [
["Lisa", 16, "Female", "2000-12-01"],
["Bob", 22, "Male", "1996-01-21"]
],
metaData: [
{ name: "name", note: '' },
{ name: "age", note: '' },
立定三级跳远
{ name: "gender", note: '' },
{ name: "birthday", note: '' }
]
}
rows 是数据,metaData 是对数据的说明。现写⼀个函数 parData,将上⾯的对象转化为期望的数组:
小学日记100字[
{ name: "Lisa", age: 16, gender: "Female", birthday: "2000-12-01" },作文《我的烦恼》
{ name: "Bob", age: 22, gender: "Male", birthday: "1996-01-21" },
]
⽅法⼀:
const parData = (data) => {
指鹿为马的故事
let array = [];
let obj = {}
石榴园obj = {};
obj[item.name] = r[i];
})
array.push(obj);
})
return array;
}
console.log(parData(obj));
⽅法⼆:
const parData2 = (data) => {
ws.map(r => {
duce((res,cur,i) =>{
aData[i].name]=cur;伤感网名女生
return res;
}, {} );
})
}
console.log( parData2(obj));
2、字符串居中补全
完成函数 centerPad 可以让⼀个字符串居中包裹在指定的可重复填充的字符串中间,例如:
centerPad('Hello', 13, 'abc') // => 'abcaHelloabca'
centerPad('Gook Luck!', 30, '*~') // => '*~*~*~*~*~Gook Luck!*~*~*~*~*~'
相遇作文第⼀个参数为被包裹字符串,第⼆个参数为最终的字符串长度,第三个参数为⽤来填充的字符。如果字符串⽆法完全居中,那么让字符串偏左,例如:
centerPad('Hello', 10, 'abc') // => 'abHelloabc'
如果第⼆个参数传⼊的字符串长度⽐原来长度要短,直接返回原有字符串即可,例如:centerPad('Hello', 1, 'abc') // => 'Hello'
⽅法:
const centerPad = (str, len, pad) => {
let L = Math.floor((len-str.length)/2);
return ''.padStart(L,pad) + str + ''.padEnd(len - L - str.length,pad);
}
console.log(centerPad('Hello', 3, 'abc') )
3、数组去重
编写⼀个函数 unique(arr),返回⼀个去除数组内重复的元素的数组。例如:
unique([0, 1, 2, 2, 3, 3, 4]) // => [0, 1, 2, 3, 4]
unique([0, 1, '1', '1', 2]) // => [0, 1, '1', 2]
⽅法:
const unique = (arr) => [...new Set(arr)];//或者Array.from(new Set(arr))
console.log(unique([0, 1, '1', '1', 2]) )才高八斗