Проблема типизации
by Maxim_Wolf
JavaScript
const LIMIT = 10;
// несколько библиотечных функций для работы с массивами
const createList =()=>[];
const getFirst = ()=>[0];
const getNext = (current) => current+1;
const setMemberChecked = (buffer, index, value) =>{
if(index<LIMIT){
buffer[index] = value;
return;
}
throw new Error('out of range')
}
const getMemberChecked = (buffer, index)=>{
if(index<LIMIT){
return buffer[index];
}
throw new Error('out of range')
};
const copyTopTenToArray = (buffer)=> buffer.slice(0,LIMIT);
const partyMembers = createList();
const index = getFirst();
console.log('----иногда работает нормально----')
//можете установить и прочитать значение в массиве по индексу
setMemberChecked(partyMembers, index, 'Griffin');
console.log(getMemberChecked(partyMembers, index));
//получить следующий индекс. установить и прочитать знечение
const next = getNext(index);
setMemberChecked(partyMembers, next, 'the invisible man');
console.log(getMemberChecked(partyMembers, next));
// но вы не можете сохранить весь массив
console.log('----почему только один элемент---')
console.log(copyTopTenToArray(partyMembers));