0

私はこの2つの配列を持っています。

url = ["http://www.linkedin.com/in/jannuelanarna", "http://www.linkedin.com/in/jannuela", undefined, undefined];

publicUrl = ["http://www.linkedin.com/in/jannuelanarna", "http://www.linkedin.com/pub/jay-r-bautista/64/b29/45b", undefined, "http://www.linkedin.com/pub/ronilo-canson/75/927/4a3", "http://www.linkedin.com/pub/siddharth-chaudhary/33/aa1/8", "http://www.linkedin.com/in/rojohnh", "http://www.linkedin.com/pub/lara-martinez/74/777/a3b", "http://www.linkedin.com/pub/alena-ortega/69/72a/415", "http://www.linkedin.com/in/nivlek1416", "http://www.linkedin.com/pub/emmar-reveriza/59/a91/132", "http://www.linkedin.com/in/samsanchezcb", "http://www.linkedin.com/pub/mitch-stevens/6b/375/3a0", "http://www.linkedin.com/pub/irish-jane-sumadic/29/339/910", "http://www.linkedin.com/pub/joel-sumadic/45/31b/ab3", "http://www.linkedin.com/pub/luna-cielo-yniesta/68/4b2/690"];

URLが配列に存在するかどうかを検索できるようにするためのコードは何ですか?

4

2 に答える 2

2

新しいデモ: (ここをクリック)右上隅の [Run with JS] をクリックします。

function arraysHaveDuplicate(needle, arr1, arr2) {
  //will return first duplicate or false
  for (var i=0; i<arr1.length; ++i) {
    if (arr2.indexOf(needle) !== -1) { //found match, return matched value
       return arr1[i];
    }
  }
  return false; //no match
}

--OLD ANSWER-- 上記の新しい回答!!!

ここにあなたがそれを行うことができる1つの方法があります.

var value = "http://www.linkedin.com/pub/luna-cielo-yniesta/68/4b2/690";
if (url.indexOf(value) !== -1 || publicUrl.indexOf(value) !== -1) {
  alert('Found: '+value); 
}
else {
  alert('Not found: '+value); 
}

さらに、次のように、これをより再利用可能な関数にすることができます。

function testArrays(needle, arrays) {
  for (var i=0; i<arrays.length; ++i) {
    if (arrays[i].indexOf(needle) !== -1) {
      return true;
    }
  }
  return false;
}

if (testArrays(value, [url, publicUrl])) {
  alert('Found: '+value);  
}
else {
  alert('Not found: '+value); 
}

私のデモをご覧ください (ここをクリック)。アラートを鳴らすには、隅にある [Run with JS] をクリックする必要があります。

于 2013-09-09T21:43:37.490 に答える