javascript - 如何从参数已存在的 GET 数组中查找数据

标签 javascript jquery arrays json api

抱歉,标题措辞不太好。我正在使用类别选择从 API 中选择类别。我目前获取类别列表,过滤它们的名称,并将它们显示在类别选择器中。当用户单击提交时,我希望通过 API 进行解析并找到与该类别名称关联的 ID。以下是 API 的示例输出:

{
"_id": "5c2fde414502d923ceafaa30",
"title": "Category 2",
"description": "My second category, testing 123",
"createdAt": "2019-01-04T22:29:21.047Z",
"updatedAt": "2019-01-04T22:29:21.047Z",
"__v": 0
},

这是我用于类别选择器的代码:

JS:

$.getJSON("http://localhost:2672/categories", function (json) {
$('#category-chooser').empty();
$('#category-chooser').append($('<option>').text("Choose a Category"));
$.each(json, function (i, obj) {
$('#category-chooser').append($('<option>').text(obj.title));
});
});

HTML

<select id="category-chooser" class="form-control" name="category">
<option selected="selected">blank</option>
</select>

最佳答案

如果您将从 getJSON 返回的 json 存储在回调之外的某处,您的提交按钮将触发如下所示:

function getCategoryId(){
    const categoryChooser = document.getElementById('category-chooser');
    const categorySelected = categoryChooser.value;
    json.forEach(entry => {
        if(entry.title === categorySelected){
            return entry["_id"];
        }
    });
}

关于javascript - 如何从参数已存在的 GET 数组中查找数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54055793/

相关文章:

带有 char* 键的 C++ unordered_map 产生意外行为

javascript - 什么时候我应该更喜欢克隆而不是 JavaScript 中的引用?

javascript - Socket.io 和 JS DOM 兼容性

javascript - 如何实现jScroll?

javascript - 在这种情况下 .fail() 还是 .timeout() 更好?

javascript - 如何在jquery中通过类名获取输入元素值

c# - 我无法访问数组的 Count 属性,而是通过转换为 ICollection!

javascript - 如何将 .STL 转换为 .js?

javascript 和 jquery 覆盖

php - 如果它们具有相同的值,则打乱关联数组中键的顺序?