【问题标题】:Remove first value from object从对象中删除第一个值
【发布时间】:2014-10-02 10:12:30
【问题描述】:

我有这个对象:

var i = $("[name~=article]").map(function() {
    return $(this).val()
}).get(); 

我得到的是这样的:

var i = [
    [{
        "invoice": 1,
        "article": "ff",
        "qty": "0"
    }, {
        "invoice": 1,
        "article": "Coca Cola",
        "qty": "33"
    }, {
        "invoice": 1,
        "article": "Fanta",
        "qty": "2"
    }],
]; 

我需要的是删除第一个值来得到这样的东西

var i = [{
    "invoice": 1,
    "article": "Coca Cola",
    "qty": "33"
}, {
    "invoice": 1,
    "article": "Fanta",
    "qty": "2"
}];

我总是需要删除第一个,并且必须改变对象的结构?

【问题讨论】:

  • 但结构已更改
  • 要将[[{ 更改为[{ 还是删除"article": "ff" 条目?
  • 请看一下新的i

标签: jquery json object


【解决方案1】:

您可以在结果上使用splice

var i = $("[name~=article]").map(function() {
          return $(this).val()
        }).get()[0]
          .splice(0,1);

【讨论】:

    【解决方案2】:
    var i = $("[name~=article]:not(:first)").map(function(v,i) {
        return this.value;
    }).get()[0];
    

    【讨论】:

    • 这没问题,但我想改变结构?
    • 哦,抱歉,没太注意那个细节……正在编辑我的答案
    • [[{"invoice":1,"article":"Coca Cola","qty":"33"},{"invoice":1,"article":"Coca Cola" }],[{"invoice":1,"article":"Fanta","qty":"5"},{"invoice":1,"article":"Coca Cola","qty":"33 "}]]
    • 你在get()后面加了[0]吗?
    【解决方案3】:

    你可以像切片一样使用

    var i = $("[name~=article]").slice(1).map(function () {
        return $(this).val()
    }).get();
    

    【讨论】:

      【解决方案4】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-27
      • 2022-01-20
      • 1970-01-01
      相关资源
      最近更新 更多