簡體   English   中英

如何在 javascript 中推送多維數組

[英]How to push array multidimensional in javascript

我想使用 javascript 推送一個多維數組。我需要它來為 chartJs 設置數據集。 我想要這樣的結果:

datasets: [{
    label: 'Manajemen Informatika',
    data: [100, 105, 203, 160, 200],
    backgroundColor: 'rgba(189, 99, 132, 0.2)',
    borderColor: 'rgba(189, 99, 132, 1)',
    borderWidth: 1
}, {
    label: 'Teknik Informatika',
    data: [105, 100, 250, 170, 190],
    backgroundColor: 'rgba(94, 126, 189, 0.2)',
    borderColor: 'rgba(94, 126, 189, 1)',
    borderWidth: 1
}, {
    label: 'Sistem Informasi',
    data: [90, 120, 225, 185, 200],
    backgroundColor: 'rgba(72, 189, 122, 0.2)',
    borderColor: 'rgba(72, 189, 122, 1)',
    borderWidth: 1
}]

您想要的數據集看起來像一個對象數組,其中大括號內的每個數據都是 object。因此,如果您想在 JS 中放置多維數組,請在變量中創建每個 object,向其中添加數據,然后將其推送到數組.

let arr = [];
let obj1 = {}; //add data to this object
arr.push(obj1);
let obj2 = {}; //add data to this object
arr.push(obj2);
.
.
.
let objn = {}; //add data to this object
arr.push(objn)

首先,您需要先給出輸入的定義。 你寫的結果只是一個Object的數組。多維數組應該是這樣的:

const multidimensionalArray = [
  [1,2,3,4],
  [12,13,15,16],
  [17,2,31,]
]

對於你的問題,我假設你從后端接收數據:

const responseData = [{data1, data2, data3, data4}]

const result = responseData.map(item => {
   /// Do some manipulate data here
   const stypingObj = item.type ? styling1 : styling2 
   const valueArray = item.valueData  // You can manipulate value also
   return chartData = { ...item. data: valueArray, ...stylingObj }
})

然后它返回您的預期結果。

別擔心,這個架構有點亂,總是很難寫和讀。

你應該使用類似的東西:

 var d = { datasets: [ { label: 'Manajemen Informatika', data: [100, 105, 203, 160, 200], backgroundColor: 'rgba(189, 99, 132, 0.2)', borderColor: 'rgba(189, 99, 132, 1)', borderWidth: 1 } ] } d.datasets.push( { label: 'Sistem Informasi', data: [90, 120, 225, 185, 200], backgroundColor: 'rgba(72, 189, 122, 0.2)', borderColor: 'rgba(72, 189, 122, 1)', borderWidth: 1 } ) // Read a particular value console.log(d.datasets[1].label) // Whole object console.log(d)

我們不應該自己手寫一個 object,但是chart.js是那樣做的,強制每個配置都嵌套在對象中,使用插件變得最糟糕,你也必須在那里傳遞函數,這使得腳本變得混亂。

旁注,出於不同的原因,建議完全避免使用 chart.js。

請嘗試此代碼,如何在 javascript 中推送多維數組

var PushToArray = { };
PushToArray.productID = productID;
PushToArray.itemColorTitle = itemProductTitle;
PushToArray.itemColorPath = itemProduct;
cookie_value_add.push(PushToArray);

我希望這段代碼對你有用。

謝謝你。

我想使用 javascript 推送一個多維數組。 我需要這個來為 chartJs 設置數據集。 我想要這樣的結果:

datasets: [{
    label: 'Manajemen Informatika',
    data: [100, 105, 203, 160, 200],
    backgroundColor: 'rgba(189, 99, 132, 0.2)',
    borderColor: 'rgba(189, 99, 132, 1)',
    borderWidth: 1
}, {
    label: 'Teknik Informatika',
    data: [105, 100, 250, 170, 190],
    backgroundColor: 'rgba(94, 126, 189, 0.2)',
    borderColor: 'rgba(94, 126, 189, 1)',
    borderWidth: 1
}, {
    label: 'Sistem Informasi',
    data: [90, 120, 225, 185, 200],
    backgroundColor: 'rgba(72, 189, 122, 0.2)',
    borderColor: 'rgba(72, 189, 122, 1)',
    borderWidth: 1
}]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM