我有一個包含2個項目的對象,每個項目都包含一個數字數組。使用JavaScript進行兩次問題測試
selected: {
item1: [1, 2, 3],
item2: [4, 5, 6]
}
在函數中,如果傳遞給它的數字不在任一項中,我需要做一些操作。因此,舉例來說,如果傳遞了6,什麼都不做,但如果傳遞7,那麼做一些事情。 Uncaught TypeError: Cannot read property 'some' of undefined
Object.entries(selected)
.forEach((itemParent)=>{
itemParent[1].some((itemChild)=>{
return itemChild === no;
})
}
).some((item)=>{
return item === true;
});
進出口使用巴布爾所以我:
如果一個項目包含數字
Object.entries(selected).forEach((itemParent)=>{
console.log(
itemParent[1].some((itemChild)=>{
return itemChild === no;
})
)
});
但是當我添加下面的代碼,我得到一個錯誤下返回true和false可以使用最新的ES6語法。
原因'itemParent所[1]''是或2''5' ...'itemParent'是陣列和'itemParent所[I]'是陣列 – demo
您的代碼的元件'forEach'回調內部實際上沒有做任何事情。你檢查'itemParent [1] .some((itemChild)=> {return itemChild === no;})',但是你不會對結果做任何事情,所以它會立即被丟棄。那麼,當然'forEach'返回'undefined',所以你不能在它之後鏈接另一個'some'。無論如何你爲什麼使用'forEach'? – Xufox
@Evans,我們的答案呢? –