import cavar_type from '../cavar_type'
/**
* 功能:读取复杂数据类型中是否存在当前key值以及参数
* @param {object|string|number|boolean|bigint|sybmol|array} dataObj - 目标对象
* @param {string} dataKey - 目标key值
* @param {Any} [redirectValue] - 如果找不到当前key值的参数时返回指定默认值,如果不传递默认为空对象
* @returns {Any} - 目标对象中指定查找的key值,如果没有找到或者值为undefined时返回 redirectValue 形参传递的数据
*/
function get_data(dataObj, dataKey, redirectValue = {}) {
const task = cavar_type(dataObj);
const dataKey_task = cavar_type(dataKey);
if (
task !== "undefined" &&
task !== "null" &&
task !== "function" &&
dataKey_task === "string"
) {
const data_task = dataObj[dataKey];
if (data_task) {
return data_task;
} else {
return redirectValue;
}
} else {
let type_task, type_num;
if (dataKey_task === "string") {
type_task = task;
type_num = "first";
} else {
type_task = dataKey_task;
type_num = "second";
}
console.error(
new Error(
"get_data: " +
type_num +
" parameter " +
" is " +
type_task +
" you is sb"
)
);
}
}
export default get_data