I have a function in a javascript file where I return an array. But when I call this function, when I look at the type with the “typeof” command, it returns an object instead of an array.
My javascript file is here.
import {useStore} from "vuex"; import {computed} from "vue"; export const getActions = (menuId) => { const store = useStore() const loginInfo = computed(() => { return store.state.Identity.loginInfo }); const actions = [] loginInfo.value.Authorization.forEach((x)=>{ let splitData = x.Id.split('-') if(splitData[0] === '02' && splitData[1] === menuId){ if(!actions.some(item => item.Id === splitData[2])) actions.push({ Id:splitData[2], Definition: x.Definition, Clicked:false }) } }) return actions; }
Here is where I call and use this function.
let actions =[] actions = getActions(props.menuId) for(let i=0; actions.length;i++){ if(props.actionId === actions[i].Id) return isAuth.value = false else isAuth.value = true }
Although my variable named actions is an array, it sees it as an object and my computer starts freezing. My computer’s fan starts running very fast and chrome starts to freeze.
Advertisement
Answer
You didn’t set your loop right:
for(let i = 0; i < actions.length; i++){