4种JavaScript实现数组填充默认值的方式
web前端开发
共 2276字,需浏览 5分钟
·
2021-10-26 10:39
方式一:使用Array.fill
const filledArray = Array(3).fill(0);
filledArray; // [0, 0, 0]
const filledArray = Array(3).fill({ value: 0 });
filledArray; // [{ value: 0 }, { value: 0 }, { value: 0 }]
const filledArray = Array(3).fill({ value: 0 });
filledArray; // [{ value: 0 }, { value: 0 }, { value: 0 }]
filledArray[1].value = 3;
filledArray; // [{ value: 3 }, { value: 3 }, { value: 3 }]
方式二:使用Array.from()
const filledArray = Array.from(Array(3), () => {
return { value: 0 };
});
filledArray; // [{ value: 0 }, { value: 0 }, { value: 0 }]
filledArray[1].value = 3;
filledArray; // [{ value: 0 }, { value: 3 }, { value: 0 }]
方式三:使用展开操作符...加array.map()
const sparseArray = Array(3);
sparseArray; // [empty × 3]
const filledArray = [...Array(3)].map(() => {
return { value: 0 };
});
filledArray; // [{ value: 0 }, { value: 0 }, { value: 0 }]
filledArray[1].value = 3;
filledArray; // [{ value: 0 }, { value: 3 }, { value: 0 }]
方式四:使用Array.apply()加array.map()
Array.apply(null, Array(3))
Array.apply(null, [, , ,])
const filledArray = Array.apply(null, Array(3)).map(() => {
return { value: 0 };
});
filledArray; // [{ value: 0 }, { value: 0 }, { value: 0 }]
filledArray[1].value = 3;
filledArray; // [{ value: 0 }, { value: 3 }, { value: 0 }]
结论
学习更多技能
请点击下方公众号
评论