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

标签 javascript jquery ajax javascript-objects

我正在尝试完成一个 JS 脚本,其目标是从对象中添加和删除名字和姓氏。它将通过 AJAX 传输到 PHP 脚本,然后该脚本将操作 JSON,因此请记住这一点...我应该使用什么来创建一个对象:

  1. 有成对的名字和姓氏
  2. 可以通过指定键(即“名字”)和值来删除其名字和姓氏对

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

编辑:我无法识别每个全名 - 我只能通过名字和姓氏。事实上,我有一个对象,里面有一堆对象,在 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()
});

或者出于测试目的,这里是数据:

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

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

最佳答案

使用 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);
         }
    }
}

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

关于JavaScript - 通过键/值对将对象添加到对象并删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17429436/

相关文章:

javascript - mouseover 和 mouseout 函数 DOM 元素高度碰撞

javascript - 使用 Jquery 的幻灯片放映,图像不适合窗口

javascript - 在桌面 View 的 iframe 中加载网站

javascript - 使用 AJAX PHP 切换页面

javascript - 使用 Jquery 获取包含字符串的 Id

Javascript/Jquery 使文本完全适合给定尺寸和换行符的 div(如果需要)

javascript - 在主干js中访问返回值

jquery - 如何通过点击来增加和减少线条?

jquery - Django 1.5 CSRF Ajax

php - 在同一页面显示计算结果