Node.js 功能函数Node.js 功能函数Node.js 功能函数Node.js 功能函数Node.js 功能函数Node.js 功能函数
最近在项目中经常用到的一些JavaScript fun,记录下来以后组件自己的工具库:
1#
[
{
"name":"a",
"value":[
{
"name":"b",
"value":10
}
]
}
]
// find env value in array-object
exports.findEnvValue = function (envs, envNameArr) {
if (!Array.isArray(envs) || !Array.isArray(envNameArr))
return null
if (envNameArr.length === 1) {
let obj = envs.find(item => item['name'] === envNameArr[0])
if (!obj || typeof obj.value === undefined) return null
return obj.value
}
let env = envs.find(item => item['name'] === envNameArr[0])
if (!env || typeof env.value === undefined) return null
return this.findEnvValue(env.value, envNameArr.slice(1))
}
2#
{
"name":"a",
"value":{
"name":"b",
"value":10
}
}
exports.getDeepValue = (target, propsList) => propsList.reduce(
(result, prop) => ((result && result[prop]) ? result[prop] : null), target)
3# 数组扁平
[[1,2,3],["a","b","d"]]
exports.arrayFlatten = function (array) {
return [].concat(...array.map(item => Array.isArray(item) ? this.arrayFlatten(item) : item))
}