使用视觉力组件从阵列中删除重复项
Removing duplicates from array using on visualforce component
我想从我的视觉力页面上显示的最终数组中删除重复项。
实际工作代码:(我在数组中得到重复项)
function(result, event){
//if success
if(event.status){
var data = {results: []}
data.results = result;
query.callback(data);
}
else{
alert('Invalid Field/Object API Name : '+event.message);
}
},
{escape: true}
);
}
我为更改而采用的示例代码:
function unique(list){
var result = [];
$.each(list, function(i, e) {
if ($.inArray(e, result) == -1) result.push(e);
});
return result;
}
全力以赴争取结果:
if(event.status){
var result = [];
var data = {results: []}
$.each(list, function(i, e) {
if ($.inArray(e, data.results) == -1) data.results.push(e);
});
data.results = result;
query.callback( data);
}
但我无法得到结果.请帮助我完成这项工作。如果我的问题不清楚,请告诉我。
更新了原始代码
您的代码有效,您只是忘记删除data.results = result
行,这会阻止您获得正确的结果:
var result = [];
var data = {results: []}
$.each(list, function(i, e) {
if ($.inArray(e, data.results) == -1)
data.results.push(e);
});
// You have to comment the following line, or data.result get reset
// You could also push to result instead of data.results
// in the $.each function above
//data.results = result;
// ...
console.log(data.results) // => data.results has unique elements!
您也可以使用 reduce 方法:
data.results = list.reduce(function(ar,item) {
if(result.indexOf(item) == -1)
ar.push(item)
return ar
}, result)
见小提琴
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 在特定条件下从存储在localStorage中的阵列中删除对象
- 当会话存储阵列中存在大量元素时,如何从中删除元素
- 删除本地存储 JSON 对象并重建阵列
- 是否有任何方法可以去除“"打印时从阵列中删除
- 复制阵列上的拼接会从父阵列/主阵列中删除对象
- 使用视觉力组件从阵列中删除重复项
- 从阵列中删除未选中的复选框
- 从图纸管理器叠加阵列中删除元素
- 按按钮从阵列中删除项目
- 正在从阵列中删除选中的项目
- 从多个相同的阵列中删除一个项目
- 从多边形阵列中删除多边形的子集
- 如何消除阵列中的重复?(不是唯一的,但删除下一个值)PHP
- Javascript 2D阵列行删除
- 正在从其他阵列中删除阵列
- 检查x y网格坐标的阵列是否存在重复并删除
- 如何从Angularjs中的本地存储阵列中删除特定元素
- 从阵列中删除重复的线路