for
JavaScript에서 초기에 루프 를 중지하려면 다음을 사용합니다 break
.
var remSize = [],
szString,
remData,
remIndex,
i;
/* ...I assume there's code here putting entries in `remSize` and assigning something to `remData`... */
remIndex = -1; // Set a default if we don't find it
for (i = 0; i < remSize.length; i++) {
// I'm looking for the index i, when the condition is true
if (remSize[i].size === remData.size) {
remIndex = i;
break; // <=== breaks out of the loop early
}
}
ES2015 (일명 ES6) 환경에있는 경우이 특정 사용 사례에 대해 Array#findIndex
(항목의 색인 Array#find
을 찾기 위해 ) 또는 (항목 자체를 찾기 위해) 사용할 수 있으며, 둘 다 shimm / polyfilled 할 수 있습니다.
var remSize = [],
szString,
remData,
remIndex;
/* ...I assume there's code here putting entries in `remSize` and assigning something to `remData`... */
remIndex = remSize.findIndex(function(entry) {
return entry.size === remData.size;
});
Array#find
:
var remSize = [],
szString,
remData,
remEntry;
/* ...I assume there's code here putting entries in `remSize` and assigning something to `remData`... */
remEntry = remSize.find(function(entry) {
return entry.size === remData.size;
});
Array#findIndex
콜백이 처음으로 진실 값을 반환 할 때 중지하고 콜백에 대한 해당 호출에 대한 색인을 반환합니다. 그것은 반환 -1
콜백이 결코 truthy 값을 반환하지 않는 경우. Array#find
또한 찾고자하는 것을 찾으면 멈 춥니 다. 그러나 인덱스가 아닌 항목을 반환합니다 (또는 undefined
콜백이 진실 값을 반환하지 않는 경우).
ES5 호환 환경 (또는 ES5 shim)을 사용하는 경우 콜백이 정확한 값을 반환 할 때까지 콜백을 호출하는 새 some
함수 를 배열에 사용할 수 있습니다 .
var remSize = [],
szString,
remData,
remIndex;
/* ...I assume there's code here putting entries in `remSize` and assigning something to `remData`... */
remIndex = -1; // <== Set a default if we don't find it
remSize.some(function(entry, index) {
if (entry.size === remData.size) {
remIndex = index;
return true; // <== Equivalent of break for `Array#some`
}
});
jQuery를 사용 jQuery.each
하는 경우 배열을 반복 하는 데 사용할 수 있습니다 . 다음과 같이 보일 것입니다.
var remSize = [],
szString,
remData,
remIndex;
/* ...I assume there's code here putting entries in `remSize` and assigning something to `remData`... */
remIndex = -1; // <== Set a default if we don't find it
jQuery.each(remSize, function(index, entry) {
if (entry.size === remData.size) {
remIndex = index;
return false; // <== Equivalent of break for jQuery.each
}
});