Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 从dojo/store获取列的不同值数组_Arrays_Json_Dojo - Fatal编程技术网

Arrays 从dojo/store获取列的不同值数组

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',

我的场景:

这是我的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', 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函数来获取不同的值,但我认为你的函数更短。我会试试看。