루프없이 레코드를 유지하면서 배열에서 빈 문자열을 제거 하시겠습니까?
이 질문은 여기에 질문되었습니다 : 비어 있지 않은 문자열로 인덱스 기록을 유지하면서 배열에서 빈 문자열 제거
@Baz가 배치 한 것처럼 주어진 것을 알 수 있다면;
"I", "am", "", "still", "here", "", "man"
"그리고 이로부터 다음 두 개의 배열을 만들고 싶습니다."
"I", "am", "still", "here", "man"
이 질문에 대한 모든 답변 은 반복 형식을 참조했습니다.
내 질문 : 루핑없이 모든 es 를 제거 할 수 있습니까? ... 배열을 반복하는 것 외에 다른 대안이 있습니까?index
empty
string
우리가 알지 못하는 일부 regex
또는 jQuery
일부일 수 있습니까?
모든 답변이나 제안을 높이 평가합니다.
var arr = ["I", "am", "", "still", "here", "", "man"]
// arr = ["I", "am", "", "still", "here", "", "man"]
arr = arr.filter(Boolean)
// arr = ["I", "am", "still", "here", "man"]
// arr = ["I", "am", "", "still", "here", "", "man"]
arr = arr.filter(v=>v!='');
// arr = ["I", "am", "still", "here", "man"]
var newArray = oldArray.filter(function(v){return v!==''});
참고 : 문서에 다음과 같은 내용 이 있습니다.
filter
ECMA-262 표준에 대한 JavaScript 확장입니다. 같은 이것은 표준의 다른 실시 예에 존재하지 않을 수있다 . 스크립트 시작 부분에 다음 코드를 삽입하여이 문제를 해결할 수 있으며 기본적으로 지원하지 않는 ECMA-262 구현에서 필터를 사용할 수 있습니다. 이 알고리즘은 fn.call이 Function.prototype.call의 원래 값으로 평가되고 Array.prototype.push에 원래 값이 있다고 가정하면 ECMA-262, 5th edition에 지정된 것과 정확히 일치합니다.
그래서, 일부 상심을 피하기 위해, 당신은 당신의 스크립트 코드를 추가 할 수 있습니다 처음에는 .
if (!Array.prototype.filter) {
Array.prototype.filter = function (fn, context) {
var i,
value,
result = [],
length;
if (!this || typeof fn !== 'function' || (fn instanceof RegExp)) {
throw new TypeError();
}
length = this.length;
for (i = 0; i < length; i++) {
if (this.hasOwnProperty(i)) {
value = this[i];
if (fn.call(context, value, i, this)) {
result.push(value);
}
}
}
return result;
};
}
arr = arr.filter(v => v);
반환 된대로 v
암시는 진실로 변환
If are using jQuery, grep may be useful:
var arr = [ a, b, c, , e, f, , g, h ];
arr = jQuery.grep(arr, function(n){ return (n); });
arr
is now [ a, b, c, d, e, f, g];
i.e we need to take multiple email addresses separated by comma, spaces or newline as below.
var emails = EmailText.replace(","," ").replace("\n"," ").replace(" ","").split(" ");
for(var i in emails)
emails[i] = emails[i].replace(/(\r\n|\n|\r)/gm,"");
emails.filter(Boolean);
console.log(emails);
'developer tip' 카테고리의 다른 글
Android : 클릭시 임의의 색상 생성? (0) | 2020.09.17 |
---|---|
C ++에서 숫자가 2의 거듭 제곱인지 테스트하는 가장 간단한 방법은 무엇입니까? (0) | 2020.09.17 |
디버깅을 시작할 수 없습니다. (0) | 2020.09.17 |
JavaScript에서 단어를 자르지 않고 문자열 단축 (0) | 2020.09.17 |
버튼을 누를 때 UITableView 셀 행 가져 오기 (0) | 2020.09.17 |