直接上代码
let extractByKey = function(arr,key,resultType='String',separator=',') {
let resultArr = [];
arr.map(item => {
if(item[key]) resultArr.push(item[key]);
})
if(resultType==='Array') return resultArr;
else if(resultType==='String')return resultArr.join(separator)
else throw new Error("resultType无效");
}
效果:
let arr=[
{x:1},
{x:2},
{x:3}
]
extractByKey(arr,'x') //1,2,3
extractByKey(arr,'x','String','=>') //1=>2=>3
extractByKey(arr,'x','Array') //[1, 2, 3]
extractByKey(arr,'x','null') //Uncaught Error: resultType无效