我正在尝试完成一个 JS 脚本,其目标是从对象中添加和删除名字和姓氏。它将通过 AJAX 传输到 PHP 脚本,然后该脚本将操作 JSON,因此请记住这一点...我应该使用什么来创建一个对象:
- 有成对的名字和姓氏
- 可以通过指定键(即“名字”)和值来删除其名字和姓氏对
我知道这很简单,但我读过的解决方案都还没有起作用!抱歉问了个愚蠢的问题...
编辑:我无法识别每个全名 - 我只能通过名字和姓氏。事实上,我有一个对象,里面有一堆对象,在 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/