想从一个数组中,根据该数组的某个属性值,例如id,取出相对应的数据,可以参考下面的方法
getDataByGivenArray: function(sourceArray, indexArray , indexKey) {
var array = [];
for (var i = 0; i < sourceArray.length; i++) {
if (indexArray .indexOf(sourceArray[i][indexKey]) > -1) {
if(sourceArray[i]!==undefined){
array.push(sourceArray[i]);
}
}
}
return array;
},
在上面的方法中,sourceArray是要取数据的数组,IndexArray是指定想要取出的数据 ,indexKey是IndexArray中的数据对应sourceArray的属性值,
例如
var sourceArray = [
{id:"physical-activity",color:"#1C7FF7CC",sort:0},
{id:"taste",color:"#A119E066",sort:1},
{id:"acceptance",color:"#A119E066",sort:2},
{id:"tranquility",color:"#7CCF65CC",sort:3},
{id:"competitiveness",color:"#F78429CC",sort:4},
]
var indexArray = ['physical-activity','taste']
var indexKey = 'id'
要从sourceArray 中取出id为physical-activity和taste的数据
console.log(this.getDataByGivenArray(sourceArray, indexArray, indexKey ))
得到结果
[
{id:"physical-activity",color:"#1C7FF7CC",sort:0},
{id:"taste",color:"#A119E066",sort:1},
]