이 가정 배열에서 배열을 만들 수 있습니다 arrStateCityAll의 서브 세트); 다음과 같은 내용 :를 사용하여 자바 스크립트 또는 jQuery를 사용하면 배열이
// return's ['CA_Alameda','CA__Pasadena','CA_Sacramento']
var arrStateCityCA=FilterArray('CA',arrStateCityAll);
이 가정 배열에서 배열을 만들 수 있습니다 arrStateCityAll의 서브 세트); 다음과 같은 내용 :를 사용하여 자바 스크립트 또는 jQuery를 사용하면 배열이
// return's ['CA_Alameda','CA__Pasadena','CA_Sacramento']
var arrStateCityCA=FilterArray('CA',arrStateCityAll);
각 항목에 대해 정규식을 사용하고 싶습니다. jQuery의 grep
함수로이를 수행 할 수 있습니다. 게시물에 같이
당신이 몇하게 당신이
function FilterArray(state,arr){
return $.grep(arr,
function(el,i) {return (el.substring(0,2)==state)}
);
}
을 할 수있는 당신에게 실제 FilterArray 기능을 구현하기 위해 jQuery.grep
var arrStateCityCA =
$.grep(arrStateCityAll,function(el,i){return (el.substring(0,2)=='CA')});
를 사용할 수 있습니다 나귀 umptions.
상태는 항상 2 자입니다.
항상 상태는 처음 2 자입니다.
그리고 대소 문자 구분을 기억 물론
'Ca'
에 즉
'CA'
동일하지 (이 기능
는 대소 문자를 구분합니다).
이렇게하면됩니다.
var arrStateCityCA = [];
for (var i = 0;i<arrStateCityAll.length;i++){
if (arrStateCityAll[i].substr(0,2) == 'CA'){
arrStateCityCA.push(arrStateCityAll[i]);
}
}
자바 스크립트의 Array.filter을 사용할 수 있습니다.
var arrStateCityAll = ['CA_Alameda','CA__Pasadena','CA_Sacramento','NY_Albany','NY_Buffalo','NY_Ithaca']
var arrStateCityCA = arrStateCityAll.filter(function (element) {
return element.indexOf("CA_") == 0;
});
위에 링크 된 mozilla 설명서에는 암시 적으로 필터를 지원하지 않는 브라우저에 대한 해결책이 있습니다. 당신이 당신의 국가 및 도시 이름 사이에 undescore을 위하여려고하는 경우에
고마워,이 잘 작동합니다. – user815460
글쎄, 파이어 폭스에서 잘 작동하지만 불행히도 IE에서는 그렇지 않다. 한숨 ... – user815460
페이지에 대한 해결책이 있습니다 : https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/filter#Compatibility – Dennis
, 첫 번째 배열 값
function getSubSetByState(set,state) {
var result = [];
for(var i=0,l=set.length;i<l;++i) {
if(set[i].split('_')[0] === state) {
result.push(set[i]);
}
}
return result;
}
사용에 대한 밑줄 및 테스트에 분할 할 수있는 경우에 그것을 장소의 세트를 제공함으로써, 그리고 당신이 찾고있는 주.
웁스 - 내 'substring'매개 변수가 잘못되었습니다! –