【发布时间】:2019-07-04 15:05:49
【问题描述】:
我正在从服务器端以 JSON 格式检索项目列表,并将它们存储到 javascript 数组中。从服务器检索的项目列表可以包含重复元素,但我需要 javascript 数组只包含唯一元素。
为了做到这一点,我使用每个项目中的id 字段(一个整数值)作为数组索引,这样我可以通过检查数组值来检查该项目是否已经在数组中那个位置。
由于生成的数组只能包含索引 0 和 5 处的元素(只是一个示例),我在使用 jQuery 的 $.each() 方法迭代它时遇到了问题,因为它遍历了从 0 到 5 的每个数组位置, 是undefined 位置 1-4 中的值。
我当然可以在遍历时检查该项目是否未定义,但我想知道是否有一些本机或直接的方法可以从那些未定义的位置获取数组的值。
var x = [];
x[0] = "some value";
x[5] = "another value";
$.each(x, function(index, value) {
console.log(index + " - " + value);
});
// This results in:
// 0 - some value
// 1 - undefined
// 2 - undefined
// 3 - undefined
// 4 - undefined
// 5 - another value
我也接受以不同方式执行此过程的建议,而不是使用项目 ID 作为数组索引来检查唯一性。
【问题讨论】:
标签: javascript jquery arrays ecmascript-5