简体   繁体   English

如何从数组中获取值?

[英]How do I get values from an array?

I have an array which is in the following format: 我有一个以下格式的数组:

RBS: [  {
    "RegExp": "",
    "Type": ""
} ],
PAN: [ {
    "RegExp": "Date",
    "Type": "Date"
} ]

Now I want to pass the value PAN to a method and it should get the count of PAN length 1 and get PAN of regex values and type value. 现在,我想将值PAN传递给方法,它应该获取PAN长度为1的计数并获取正则表达式值和类型值的PAN How can I do this? 我怎样才能做到这一点? I formed an array like this: Name holds RBS and PAN : 我形成了一个这样的数组: Name包含RBSPAN

var Regexp = [];
RegExpr.push(Name + ":" + Regexp);

function Check(test) {
    //test will be RBS /PAN
}
var obj = {
  RBS:[{"RegExp":"","Type":""}],
  PAN:[{"RegExp":"Date","Type":"Date"}] 
};

function getTypeAndValue( obj, value )
{
  var output;
  var keys = Object.keys( obj );
  if ( obj [value ] )
  {
    output = obj[ value ][ 0 ];
  }
  return output;
}


var value = getTypeAndValue( obj, "PAN" );
if ( value )
{
  console.log( "type is " + value.Type + " and RegExp is  " + value.RegExp ); 
} 
else
{
   console.log( "this value doesn't exists" );
}

You mean something like this? 你的意思是这样的吗?

HTML 的HTML

<div id="count"></div>
<div id="detail"></div>

JAVASCRIPT JAVASCRIPT

var countEl = document.getElementById("count");
var detailEl = document.getElementById("detail");


function Check(test){
  var count = test.length;
  countEl.innerHTML = "Count: " + count;
  detailEl.innerHTML = "";

  for (var i = 0 ; i < count ; i++){
    var values = test[i];
    detailEl.innerHTML += 
      "<br/>" + (i +1) + ":<br/>" +
      "RegExp: " + values["RegExp"] + "<br/>" +
      "Type: " + values["Type"] + "<br/>";

  }

}

var Name = {
   RBS: [  {
    "RegExp": "",
    "Type": ""
   } ],
   PAN: [ {
    "RegExp": "Date",
    "Type": "Date"
   } ]
};
Check(Name.PAN);

DEMO 演示

Here's a JSFiddle . 这是一个JSFiddle

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM