请实现一个通用的Array解构赋值
Sunny-117 opened this issue · 2 comments
Sunny-117 commented
请实现一个通用的Array解构赋值
kangkang123269 commented
let arr= [1 ,2 ,3 ,4 ];
let[a,...rest]=arr;
// a=1 rest=[2 ,3 ,4]
Windseek commented
const targetArray = [1, [2, 3], 4];
const formater = '[a, [b], c]';
const formaterArray = ['a', ['b'], 'c'];
const destructuringArray = (values, keys) => {
try {
const obj = {};
if (typeof keys === 'string') {
keys = JSON.parse(keys.replace(/\w+/g, '"$&"'));
}
const iterate = (values, keys) =>
keys.forEach((key, i) => {
if (Array.isArray(key)) iterate(values[i], key);
else obj[key] = values[i];
});
iterate(values, keys);
return obj;
} catch (e) {
console.error(e.message);
}
};
console.dir(destructuringArray(targetArray, formater));
console.dir(destructuringArray(targetArray, formaterArray));