【问题标题】:.Shift() first element from json callback.Shift() 来自 json 回调的第一个元素
【发布时间】:2013-08-05 01:09:11
【问题描述】:

我有问题, 我用ajax打了个电话, 结果是 JSON 中的回调。

$.ajax({ 网址:“ajax/xxx.php”, 类型:“发布”, 数据:数据字符串, 数据类型:“json”, 成功:函数(回调){ if(callback.pstatus=='ok'){ // 做某事 } if(callback.pstatus=='bad'){ 回调.shift(); self.showErrors(回调); } } });

我想 SHIFT() 名为“pstatus”的元素。 但是我在控制台“Uncaught TypeError: Object # has no method 'shift'”出现错误。

谢谢。

【问题讨论】:

  • .shift 仅适用于数组。你有一个非数组对象。尝试将console.log(callback) 放在那里,看看数组是否是对象的属性。
  • 如果我使用 Array.prototype.shift.apply() ?
  • 它不是一个数组。它会为您的对象添加一个长度属性,但没有其他效果。你想要的输出是什么?

标签: javascript jquery


【解决方案1】:

如果您想删除 pstatus 属性,您可以将其删除。

delete callback.pstatus;

【讨论】:

    【解决方案2】:

    callback 返回的数据是一个对象,而不是一个数组。 Array.prototype.shift 将没有实际效果。如果您想采取与Array.prototype.shift 相同的操作,您可以删除callback 对象的第一个成员:

    for(var k in callback) {
        delete callback[k];
        break;
    }
    

    【讨论】:

    • 如果我使用 Array.prototype.shift.apply() ?
    猜你喜欢
    • 1970-01-01
    • 2014-09-24
    • 2018-04-18
    • 2019-05-10
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多