/**
* [多維數(shù)組解一維]
* @param {Array } array [待處理數(shù)組]
* @param {Number} depth [解構(gòu)深度]
* @return {Array } [返回新數(shù)組]
*/
function flattenDepth(array, depth = 1) {
// 創(chuàng)建一個新數(shù)組
let result = [];
array.forEach( item => {
if(Array.isArray(item) && depth > 0) {
// 遞歸解構(gòu)
result.push(...(flattenDepth(item, --depth)))
} else {
result.push(item)
}
} )
return result;
};
/**
* [cloneValue 對象拷貝]
* @param {[type]} value [待處理對象]
* @param {Boolean} isDeep [深淺拷貝]
* @return {[type]} [結(jié)果]
*/
function cloneValue(value, isDeep) {
if(value === null) return null;
if(typeof value !== 'object') return value;
if(Array.isArray(value)) {
if(isDeep) {
return value.map( item => cloneValue(item, true) )
}
return [].concat(value);
} else {
if(isDeep) {
let obj = {};
Object.keys(value).forEach( item => {
obj[item] = cloneValue(value[item], true)
} );
return obj;
}
return { ...value }
}
}
function debounce(fun, wait) {
let timer;
return function () {
let context = this;
let args = arguments;
clearTimeout(timer);
timer = setTimeout(function() {
fun.apply(context, args);
}, wait);
}
}
js工具
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 本文雖然寫的是 framer.js,但是卻主要是給前端或者 node 程序員看的。因為其中用到的方法可能對于設(shè)計師...
- 《python核心編程》的第一部分讀完之后,開始總結(jié)python的基礎(chǔ)結(jié)構(gòu)圖,覺得生成器和迭代器的關(guān)系錯綜復(fù)雜,于...