JavaScript - 将对象添加到对象并通过键/值对删除

时间:2013-07-02 15:19:19

标签: javascript jquery ajax javascript-objects

我正在尝试完成一个JS脚本,其目标是添加&删除名字&来自对象的姓氏。它将通过AJAX转移到PHP脚本,然后操作JSON,所以记住这一点......我应该用什么来制作一个对象:

  1. 拥有第一对和第一对姓氏
  2. 可以拥有它的第一对&通过声明一个键(即“First”)和一个值
  3. 删除姓氏

    我知道这很简单,但我读过的解决方案都没有奏效!抱歉这个愚蠢的问题......

    编辑:我无法识别每个全名 - 我必须要做的就是第一个名字&姓。实际上我有一个包含大量对象的对象,在Chrome的JS控制台中看起来像这样:

    [Object, Object, Object, Object]
    0: Object
        first: "Stewie"
        last: "Griffin"
    1: Object
        first: "Peter"
        last: "Griffin"
    2: Object
        first: "Stan"
        last: "Smith"
    3: Object
    

    实现此目的的代码是:

    window.selectednames.push({
    first: $(this).find('.firstname').text(), 
    last: $(this).find('.lastname').text()
    });
    

    OR用于测试目的,这里是数据:

    window.selectednames.push({
        first: 'Stweie', 
        last: 'Griffin'
        });
    window.selectednames.push({
        first: 'Peter', 
        last: 'Griffin'
        });
    window.selectednames.push({
        first: 'Stan', 
        last: 'Smith'
        });
    

    这看起来很理想!我只是不知道如何从这个对象集合中删除我所知道的第一个&姓氏(换句话说,当我不知道数字/计数/索引时)。

1 个答案:

答案 0 :(得分:2)

使用javascript对象:

例如,您可以使用以下名称数组

var names = new Array()
var name1 = new Object();
name1.first = "Brad";
name1.last = "Pitt";
names.push(name1);

当需要将数组转换为json时,只需使用

即可
var jsonStr = JSON.stringify(a);

在回复您的帖子编辑时,您可以始终拥有以下功能

function removeNameFromList(nameList, firstName, lastName) {
    for(var i = nameList.length - 1; i >= 0; i--) {
         if(nameList[i].first == firstName && nameList[i].last == lastName) {
              nameList.splice(i, 1);
         }
    }
}

请注意,此函数将删除所有出现的名字和姓氏组合。