어레이가 비어 있는지 null인지 확인합니다.
jQuery에서 배열이 비어 있는지 null인지 확인하는 방법을 알고 싶습니다.나는 노력했다.array.length === 0
하지만 그것은 작동하지 않았다.그것은 어떠한 오류도 던지지 않았습니다.
코드는 다음과 같습니다.
var album_text = new Array();
$("input[name='album_text[]']").each(function(){
if( $(this).val() && $(this).val() != '') {
album_text.push($(this).val());
}
});
if (album_text.length === 0) {
$('#error_message').html("Error");
}
else {
// send data
}
실렉터가 실제로 작동하는 한 배열 길이를 확인하는 코드에는 아무런 문제가 없습니다.당신이 원하는 대로 해야 합니다.코드를 더 단순하고 읽기 쉽게 정리하는 방법은 여러 가지가 있습니다.정리된 버전은 제가 정리한 내용에 대한 메모와 함께 있습니다.
var album_text = [];
$("input[name='album_text[]']").each(function() {
var value = $(this).val();
if (value) {
album_text.push(value);
}
});
if (album_text.length === 0) {
$('#error_message').html("Error");
}
else {
//send data
}
당신이 무엇을 하고 있었고 내가 무엇을 바꿨는지에 대한 메모.
$(this)
항상 유효한 jQuery 개체이므로 확인할 이유가 없습니다.if ($(this))
내부에 DOM 개체가 없을 수 있지만 다음을 사용하여 확인할 수 있습니다.$(this).length
만약 당신이 필요하다면, 하지만 그것은 여기서 필요하지 않습니다 왜냐하면..each()
항목이 없으면 루프가 실행되지 않습니다.$(this)
마음속에.each()
루프는 항상 뭔가가 될 것입니다.- 동일한 기능에서 $(이)를 여러 번 사용하는 것은 비효율적입니다.일단 로컬 변수로 가져온 다음 해당 로컬 변수에서 사용하는 것이 훨씬 좋습니다.
- 다음을 사용하여 어레이를 초기화하는 것이 좋습니다.
[]
보다는new Array()
. if (value)
값이 문자열이 될 것으로 예상될 때 둘 다 보호됩니다.value == null
,value == undefined
그리고.value == ""
그래서 당신은 할 필요가 없습니다.if (value && (value != ""))
다음을 수행할 수 있습니다.if (value)
세 가지 빈 조건을 모두 확인합니다.if (album_text.length === 0)
는 유효하고 초기화된 배열(여기에 있음)인 경우 배열이 비어 있는지 여부를 알려줍니다.
이 선택기로 무엇을 하려고 합니까?$("input[name='album_text[]']")
?
사용자 JQuery가 EmptyObject이며 배열에 요소가 포함되어 있는지 여부를 확인합니다.
var testArray=[1,2,3,4,5];
var testArray1=[];
console.log(jQuery.isEmptyObject(testArray)); //false
console.log(jQuery.isEmptyObject(testArray1)); //true
@jesenko가 언급했듯이 배열이 비어 있는지 확인하기 위해 jquery의 $.is EmptyObject를 사용하는 것은 위험하다고 생각합니다.저는 방금 그 문제를 만났습니다.
is EmptyObject 문서에서 다음을 언급합니다.
인수는 항상 일반 JavaScript 개체여야 합니다.
당신이 결정할 수 있는 것은$.isPlainObject
의 반환$.isPlainObject([])
거짓입니다.
다음을 확인해야 합니다.''
(빈 문자열)을 입력해야 합니다.배열에 빈 문자열 요소가 있습니다.그럼 당신의album_text.length === 0
잘 될 겁니다.
/*
Basic Checking with undefined array for Jquery Array
*/
if (typeof myArray !== 'undefined' && myArray.length > 0) {
console.log('myArray is not empty.');
}else{
console.log('myArray is empty.');
}
언급URL : https://stackoverflow.com/questions/7198197/check-if-array-is-empty-or-null
'programing' 카테고리의 다른 글
jQuery 데이터 테이블:3자를 입력하거나 버튼을 클릭할 때까지 검색 지연 (0) | 2023.08.23 |
---|---|
data-false="false"는 실제로 무엇을 합니까? (0) | 2023.08.23 |
이전에 로드된 모든 PowerShell 변수 나열 (0) | 2023.08.23 |
python에서 변수 이름을 어떻게 인쇄할 수 있습니까? (0) | 2023.08.23 |
테스트/QA 프로세스와 통합된 Git 분기 전략 (0) | 2023.08.23 |