Javascript: forEach는 Uint16Array(및 Int16Array, Int16Array 등)에는 적용되지 않습니다.
질문:
UINT 16 배열에 forEach 함수를 호출하려고 했는데 오류가 발생했습니다.https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array
예컨대
var test = new Uint16Array(2);
test[0]=1;
test[1]=2;
test.forEach( function(item, i, arr) { alert (item) });
반환:Uncaught TypeError: test.forEach is not a function
하지만 코드:
var test = [1,2];
test.forEach( function(item, i, arr) { alert (item) });
잘했어.및
var test= new Array();
test[0]=1;
test[1]=2;
test.forEach( function(item, i, arr) { alert (item) });
일도 잘하고.내가 뭘 잘못했지?
답안
사용할 수 있지만 형식화된 그룹 원형에는 없습니다. (편집 - 적어도 없습니다./또는 통용되지 않습니다.)따라서 일반 배열에서 찾아서 사용해야 합니다.forEach()
.[].forEach.call(someTypedArray, function(value, index) {
// your code here
});
어떤 사람들은 현식 인용.call()
을 더 좋아한다.Array.prototype.forEach.call(someTypedArray, function(value, index) {
// your code here
});