Arrays 从dojo/store获取列的不同值数组
我的场景: 这是我的JSON数组格式的测试数据:Arrays 从dojo/store获取列的不同值数组,arrays,json,dojo,Arrays,Json,Dojo,我的场景: 这是我的JSON数组格式的测试数据: var testDataObj = [ { col1: 'p0', col2: 1, tbl: 'p', col3: '14/01/2013', col4:'BOB'}, { col1: 'p1', col2: 2, tbl: 'p', col3: '14/01/2013', col4:'SANDY'}, { col1: 'p2', col2: 3, tbl: 'p', col3: '14/01/2013',
var testDataObj = [
{ col1: 'p0', col2: 1, tbl: 'p', col3: '14/01/2013', col4:'BOB'},
{ col1: 'p1', col2: 2, tbl: 'p', col3: '14/01/2013', col4:'SANDY'},
{ col1: 'p2', col2: 3, tbl: 'p', col3: '14/01/2013', col4:'JASON'},
{ col1: 'p3', col2: 4, tbl: 'p', col3: '14/01/2013', col4:'JASON'},
{ col1: 'p4', col2: 5, tbl: 'p', col3: '14/01/2013', col4:'SANDY'},
];
我创建了一个dojo/store/Memory对象,如下所示:
require(["dojo/store/Memory"], function(Memory){
var gctsTestStore = new Memory({data: testDataObj});
});
我想要实现的目标:
我想获得列col4
的不同值数组:
var distinctColumnValues=gctsTestStore.getDistinctValuesFromColumnName('col4');
//distinctColumnValues= ['BOB','SANDY','JASON']
我的请求:
目前,我正在通过JSON数组testDataObj来实现这个结果,但我正在使用dojo/store的API探索一个更优雅的解决方案
我在这里使用dojo/store/Memory,但我也可以接受其他类型dojo/store的解决方案
谢谢。没有用于从内存存储获取不同值的内置API。 您需要用Javascript编写自己的方法来获得不同的结果。下面是一种写作方式
var unique = {};
var distinct = [];
for( var i in array ){
if( typeof(unique[array[i].col4]) == "undefined"){
distinct.push(array[i].col4);
}
unique[array[i].col4] = 0;
}
1.我们需要查看您当前使用的代码;2.如果您没有亲自尝试过,我们就不会为您编写代码。我当前的解决方法是通过JSON数组testDataObj循环以获得一个不同值的数组。我想在Dojo中寻找一个更优雅或内置的api来完成这项工作。我找了两天都没找到。谢谢@frank,我写了一个js函数来获取不同的值,但我认为你的函数更短。我会试试看。