簡體   English   中英

如何在javascript中設置數組對象的鍵值?

[英]how to set a value of a key of an array object in javascript?

我正在創建拖放文件(可以選擇多個文件)功能。 用戶可以在這里選擇多個文件。我想將文件的大小從字節轉換為 mb。 . 獲取所有文件的函數

腳本.js

const handleFiles = (files) => {
  files = [...files];

//converting bytes into mb and trying to assign it back to size key
  files.forEach(function (file) {                      <----these lines need to be changed
    file["size"] = `${(file["size"] / 1024 ** 2).toFixed(2)} mb`; <------
  });                                                  <-----
  console.log(files);
};

我將此作為控制台中文件變量值的輸出。 這是我在文件中得到的(對象列表)

為什么我使用傳播運算符?

Ans:如果我不使用擴展運算符並且用戶只選擇一個文件,那么它會作為一個對象而不是一個對象列表傳遞

如何使用新值設置對象的每個大小鍵的值。

File.size 是只讀屬性,您無法更改它(請參閱此處: https : //developer.mozilla.org/en-US/docs/Web/API/File#instance_properties )。 如果要在 UI 中以 Mb 為單位顯示文件大小,則必須獲取 File.size(或 File["size"],就像您在做的那樣),並像在函數中一樣處理它以將其顯示在UI(讓函數返回大小數組,或在應用程序的呈現部分包含大小格式),但您不能更改 File 實例本身的屬性。

暫無
暫無

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

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