3 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊
數(shù)組map接受參數(shù)為(item,index)。在您的情況下x,表示數(shù)組元素將是 1,2,3,4 等等。因此 arr[1] 將是第一個(gè)為 1 的元素,但arr[4]由于fifth索引處不存在元素而未定義。您可以替換arr[x]為 onlyx或 witharr[index]
var arr = [1, 2, 3, 4];
var result = arr.map(function(x, index) {
console.log('Array element', x)
if (arr[index] >= 2) {
return arr[index] + 10;
} else {
return arr[index] - 10;
}
});
console.log(result);

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
var arr = [1, 2, 3, 4];
var result = arr.map(function(val, indx) {
if(arr[indx] >= 2) {
return arr[indx] + 10;
} else {
return arr[indx] - 10;
}
});
您需要使用索引而不是值
或者你可以像專業(yè)人士一樣做
const result = arr.map((val, indx) => {
return (val >= 2) ? val+10 : val -10
});

TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊
jsmap函數(shù)迭代元素(在您的情況下)而不是索引。您的 x 變量是迭代中的當(dāng)前元素
var arr = [1, 2, 3, 4];
var result = arr.map(function(x) {
if(x >= 2) {
return x + 10;
} else {
return x - 10;
}
});
console.log(result);
添加回答
舉報(bào)