我想在 javascript 中創建物件陣列,比如間隔方式,它是動態的,比如假設間隔值為 10,那么它應該以 10 開始并以 100 結束
初始值 = 10 最終值 = 100
所以最終的陣列就像
[
{
"label": "10",
"value": "10"
},
{
"label": "20",
"value": "20"
},
{
"label": "30",
"value": "30"
},
{
"label": "40",
"value": "40"
},
{
"label": "50",
"value": "50"
},
{
"label": "60",
"value": "60"
},
{
"label": "70",
"value": "70"
},
{
"label": "80",
"value": "80"
},
{
"label": "90",
"value": "90"
},
{
"label": "100",
"value": "100"
}
]
所以知道我如何制作上面的物件陣列
uj5u.com熱心網友回復:
您可以使用普通的 for 回圈函式和陣列推送方法來實作這一點。
const initialValue = 10;
const endValue = 100;
let finalArray = [];
for (let n = initialValue; n <= endValue; n =10) {
finalArray.push({"label": n, "value": n});
}
console.log(finalArray)
uj5u.com熱心網友回復:
您還可以使用Array.from()來生成值。
我們將使用一個createLabels()函式來包裝它,傳入 startValue、endValue 和 step。
function createLabels(startValue, endValue, step) {
const length = 1 (endValue - startValue) / step;
return Array.from({ length }, (v,k) => {
const value = String(startValue k*step);
return { label: value, value };
});
}
console.log(createLabels(10, 90, 10))
.as-console-wrapper { max-height: 100% !important; }
uj5u.com熱心網友回復:
您可以像這樣初始化陣列:
[...Array(10).keys()].map(i => ({'label':10 i*10, 'value':10 i*10}))
如果你想要一個更通用的:
const gen = (init,end,step) =>
([...Array(Math.ceil((end-init 1)/step)).keys()].map(i => ({
'label':init (i)*step,
'value':init (i)*step
})));
gen(10,100,10);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/443222.html
標籤:javascript 数组 目的 数组列表
