簡體   English   中英

給一個數組一個值和一個列表

[英]Give an array a value and a list inside of it

我希望在數組中的項目內創建一個列表,但仍保留該項目的值? 有沒有辦法做到這一點?

resources: {
        hyphens: 0{
            rate: 0
        },
        ores: 0,
        pitchforks: 0

我希望resources.hyphens返回一個數字,因為我在其他文件中引用了很多。 但我也希望能夠從諸如resources.hyphens.rate東西中召回一個值,該值是在resources.hyphens播種的。 有什么辦法嗎?

您可以創建toStringvalueOf方法作為對象的自己的屬性。 當 JS 需要將對象轉換為字符串或數字時,就會使用這些方法。 通常您已經看到它們返回“[object Object]”,但是例如Date的實例在轉換為字符串時將返回一個日期字符串。

創建自己的轉換方法:

var resources = {
    hyphens: {
        rate: 5
    },
    ores: 0,
    pitchforks: 0
};

Object.defineProperties(resources.hyphens, {
    valueOf: {value: function () {return 10;}},
    toString: {value: function () {return 10;}}
});

jsFiddle 的現場演示

您也可以在對象定義中創建這些屬性,但這樣做會保護這些屬性,並使它們也不可枚舉。

請注意,直接記錄resources.hyphens將向您顯示對象結構,在代碼中,如果需要轉換,它將表現得像一個數字。

暫無
暫無

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

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