为什么地图没有地图方法?

时间:2015-09-01 14:08:56

标签: javascript ecmascript-6

为了映射"一个Map对象,你必须先将它解构为一个数组数组。这似乎是我的倒退。

有人可以向我解释一下这背后的设计理由是什么?我知道像Scala这样的其他语言确实有地图的地图方法,所以我试图理解它们在Javascript中不可用的原因。

这种语法似乎非常复杂和冗长:

[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public override bool Selected
{
    get
    {
        return false;
    }
    set
    {
        throw new InvalidOperationException(SR.GetString("DataGridView_HeaderCellReadOnlyProperty", new object[] { "Selected" }));
    }
}

难道不是这样的吗?

//Set Value property, to see the value you should increase RowHeaderWidths property of DataGridView 
this.dataGridView1.Rows[e.RowIndex].HeaderCell.Value = "Hi";

//Get Selected property that returns false always
MessageBox.Show(this.dataGridView1.Rows[e.RowIndex].HeaderCell.Selected.ToString());

1 个答案:

答案 0 :(得分:0)

ES6上的地图当前表示为具有键/值系统的可迭代。并且数组映射函数返回一个新数组。我不确定是否有可能以这种方式返回新版本。我会使用forEach for Maps并从那里构建新的。如果您可以构建具有相同功能的函数,那么我也肯定会建议查看immutable.js