Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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
Javascript 操纵数组和对象_Javascript_Arrays_Javascript Objects - Fatal编程技术网

Javascript 操纵数组和对象

Javascript 操纵数组和对象,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,请容忍我,因为这是一个我正在努力解决的问题,所以我可能无法很好地解释它 我有一个值数组和两个字符串: e、 g 我还有一个对象数组(本例中只有一个,但可以是多个): 使用我拥有的值,我需要获得与正确的DEPOT\u ID值相对应的DEPOT\u NAME键的值。我假设上面的数组可以用来查找正确的仓库ID,但是我该如何获取仓库名称的值呢 我希望我能解释清楚,好的,如果你需要更多的澄清,我会尽我最大的努力让它更清楚 在此方面的任何帮助都将不胜感激 感谢您的时间。此示例生成一个包含元素“Bristol

请容忍我,因为这是一个我正在努力解决的问题,所以我可能无法很好地解释它

我有一个值数组和两个字符串: e、 g

我还有一个对象数组(本例中只有一个,但可以是多个):

使用我拥有的值,我需要获得与正确的
DEPOT\u ID
值相对应的
DEPOT\u NAME
键的值。我假设上面的数组可以用来查找正确的仓库ID,但是我该如何获取仓库名称的值呢

我希望我能解释清楚,好的,如果你需要更多的澄清,我会尽我最大的努力让它更清楚

在此方面的任何帮助都将不胜感激


感谢您的时间。

此示例生成一个包含元素“Bristol”和“Croydon”的数组(基于包含[5,6]的ID数组):

//您的示例对象
var yourObj=[
{
栏目:[
{name:“DEPOT_ID”},
{name:“DEPOT_name”},
{name:“REGION_ID”},
{name:“创建日期”},
{name:“修改日期”}
],
id:1,
行:[
{数据:{仓库ID:“0”,仓库名称:“伦敦”,区域ID:“0”,创建日期:“2016-05-03”,修改日期:“2016-05-03”},
{数据:{仓库ID:“1”,仓库名称:“阿比路”,区域ID:“1”,创建日期:“2016-05-03”,修改日期:“2016-05-03”},
{数据:{仓库ID:“3”,仓库名称:“Romford”,区域ID:“3”,创建日期:“2016-05-03”,修改日期:“2016-05-03”},
{数据:{仓库ID:“5”,仓库名称:“布里斯托尔”,区域ID:“5”,创建日期:“2016-05-03”,修改日期:“2016-05-03”},
{数据:{仓库ID:“6”,仓库名称:“克罗伊登”,区域ID:“6”,创建日期:“2016-05-03”,修改日期:“2016-05-03”}
],
标题:“仓库”
}
];
//基于ID获取仓库名称的示例代码
var-id=[5,6];
var depotNames=[];

对于(var i=0;i,您可以迭代对象并过滤需要的部分,然后仅获取目标值

函数getValues(键、值、目标){ 返回数据[0]。行。筛选器(函数(a){ 返回值。indexOf(a.data[key])!=-1; }).map(函数(a){返回a.data[target];}); } var数据=[{columns:[{name:“DEPOT_ID”},{name:“DEPOT_name”},{name:“REGION_ID”},{name:“CREATED_DATE”},{name:“MODIFIED_DATE”},{ID:1,行:[{data:{DEPOT_ID:“0”,DEPOT_name:“London”,REGION_ID:“0”,CREATED_DATE:“2016-05-03”,MODIFIED_DATE:“2016-05-03”},{data:“DEPOT(DEPOT(DEPOT(ID:“1”,DEPOT)DEPOT)Abbey Road:“Abbey”,创建日期:“2016-05-03”,修改日期:“2016-05-03”},数据:{仓库ID:“3”,仓库名称:“Romford”,区域ID:“3”,创建日期:“2016-05-03”,修改日期:“2016-05-03”},数据:{仓库ID:“5”,仓库名称:“Bristol”,区域ID:“5”,创建日期:“2016-05-03”,修改日期:“2016-05-03”},数据:{,仓库名称:“克罗伊登”,区域ID:“6”,创建日期:“2016-05-03”,修改日期:“2016-05-03”},标题:“仓库”}); console.log(getValues(“DEPOT_ID”、[“5”、“6”]、“DEPOT_名称”);
函数获取数据(cols、ids、mainArray){
var数据=[];
对于(变量i=0;i对于(var c=0;cDo)您想使用Depot_Id获取Depot_名称,对吗?您能否通过提供场景所需的输入和最终输出来举例说明?因此,基本上我想通过使用数组[“5”,“6”]获得[“Bristol”,“Croydon”]的值找到正确的站点ID,然后获取站点名称的值。更有意义吗?很好,干净的解决方案非常感谢!
["5", "6"]
"DEPOT_NAME",
"DEPOT_ID"
[
 {
  columns: [
   {name: "DEPOT_ID"}, 
   {name: "DEPOT_NAME"}, 
   {name; "REGION_ID"}, 
   {name: "CREATED_DATE"}, 
   {name: "MODIFIED_DATE"}
  ],
  id: 1,
  rows: [
   {data: {DEPOT_ID: "0", DEPOT_NAME: "London", REGION_ID: "0", CREATED_DATE: "2016-05-03", MODIFIED_DATE: "2016-05-03"}}, 
   {data: {DEPOT_ID: "1", DEPOT_NAME: "Abbey Road", REGION_ID: "1", CREATED_DATE: "2016-05-03", MODIFIED_DATE: "2016-05-03"}}, 
   {data: {DEPOT_ID: "3", DEPOT_NAME: "Romford", REGION_ID: "3", CREATED_DATE: "2016-05-03", MODIFIED_DATE: "2016-05-03"}}, 
   {data: {DEPOT_ID: "5", DEPOT_NAME: "Bristol", REGION_ID: "5", CREATED_DATE: "2016-05-03", MODIFIED_DATE: "2016-05-03"}}, 
   {data: {DEPOT_ID: "6", DEPOT_NAME: "Croydon", REGION_ID: "6", CREATED_DATE: "2016-05-03", MODIFIED_DATE: "2016-05-03"}}
  ],
  title: "Depots"
 }
]
// your example object

var yourObj = [
 {
  columns: [
   {name: "DEPOT_ID"}, 
   {name: "DEPOT_NAME"}, 
   {name: "REGION_ID"}, 
   {name: "CREATED_DATE"}, 
   {name: "MODIFIED_DATE"}
  ],
  id: 1,
  rows: [
   {data: {DEPOT_ID: "0", DEPOT_NAME: "London", REGION_ID: "0", CREATED_DATE: "2016-05-03", MODIFIED_DATE: "2016-05-03"}}, 
   {data: {DEPOT_ID: "1", DEPOT_NAME: "Abbey Road", REGION_ID: "1", CREATED_DATE: "2016-05-03", MODIFIED_DATE: "2016-05-03"}}, 
   {data: {DEPOT_ID: "3", DEPOT_NAME: "Romford", REGION_ID: "3", CREATED_DATE: "2016-05-03", MODIFIED_DATE: "2016-05-03"}}, 
   {data: {DEPOT_ID: "5", DEPOT_NAME: "Bristol", REGION_ID: "5", CREATED_DATE: "2016-05-03", MODIFIED_DATE: "2016-05-03"}}, 
   {data: {DEPOT_ID: "6", DEPOT_NAME: "Croydon", REGION_ID: "6", CREATED_DATE: "2016-05-03", MODIFIED_DATE: "2016-05-03"}}
  ],
  title: "Depots"
 }
];

// example code to fetch the depot names based on ids

var ids = [5, 6];
var depotNames = [];
for(var i = 0; i<yourObj.length; i++){
   var rows = yourObj[i].rows;
   for(var j =0; j < rows.length; j++){
     for(id in ids){
       if(rows[j].data.DEPOT_ID == ids[id]){
          depotNames.push(rows[j].data.DEPOT_NAME);
       }
     }

   }
}
function fetchData(cols, ids, mainArray) {
   var data = [];
   for(var i=0;i < mainArray.length; i++) {
      for(var c =0;c<mainArray[i].rows.length;c++) {

         for(var id in ids) {
            if(mainArray[i].rows[c].data.DEPOT_ID == ids[id]) {
               var temp = {};
               for(col in cols) {
                  temp[cols[col]] = mainArray[i].rows[c].data[cols[col]];
               }         
               data.push(temp);
            }
         }
      }
   }

   return data;
}