Это данные, которые я получаю от API
gameData: Array(3)
0: {ROW_COUNT: 6, COLUMN_COUNT: 7, state: 0, board: Array(6)}
1: {ROW_COUNT: 6, COLUMN_COUNT: 7, state: 0, board: Array(6)}
2: {ROW_COUNT: 6, COLUMN_COUNT: 7, state: 0, board: Array(6)}
length: 3
index 0 having this -
COLUMN_COUNT: 7
ROW_COUNT: 6
board: Array(6)
0: (7) [2, 0, 0, 0, 0, 0, 0]
1: (7) [1, 0, 0, 0, 0, 0, 0]
2: (7) [2, 0, 0, 0, 0, 0, 0]
3: (7) [1, 0, 0, 0, 2, 0, 0]
4: (7) [2, 0, 1, 0, 2, 0, 0]
5: (7) [2, 0, 1, 0, 1, 0, 0]
length: 6
[[Prototype]]: Array(0)
state: 0
[[Prototype]]: Object
как я могу отправить/получить доступ только к данным индекса 0 и после этого как я могу получить доступ к плате? я должен деструктурировать его, если да, то как?
In this code I want to define rows = api's row , cols = api's cols and board = api's board. in the json
Вы можете получить к нему доступ, уничтожив первый индекс данных массива.
Например :
// Assuming you have the gameData array from the API response as below
const gameData = [
{ ROW_COUNT: 6, COLUMN_COUNT: 7, state: 0, board: [ [2, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 2, 0, 0], [2, 0, 1, 0, 2, 0, 0], [2, 0, 1, 0, 1, 0, 0] ] },
{ ROW_COUNT: 12, COLUMN_COUNT: 7, state: 0, board: [ [2, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 2, 0, 0], [2, 0, 1, 0, 2, 0, 0], [2, 0, 1, 0, 1, 0, 0] ] },
{ ROW_COUNT: 12, COLUMN_COUNT: 7, state: 0, board: [ [2, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 2, 0, 0], [2, 0, 1, 0, 2, 0, 0], [2, 0, 1, 0, 1, 0, 0] ] },
{ ROW_COUNT: 4, COLUMN_COUNT: 7, state: 0, board: [ [2, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 2, 0, 0], [2, 0, 1, 0, 2, 0, 0], [2, 0, 1, 0, 1, 0, 0] ] },
];
// you can destructure the first index of gameData to get rows, cols, and board like this
const [{ ROW_COUNT, COLUMN_COUNT,state, board }] = gameData;
console.info({ROW_COUNT,COLUMN_COUNT,state,board})
ОТРЕДАКТИРОВАНО:
Как получить динамический доступ:
// Assuming you want to access the data at index 0 in gameData array
const gameData = [
{ ROW_COUNT: 6, COLUMN_COUNT: 7, state: 0, board: [ [2, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 2, 0, 0], [2, 0, 1, 0, 2, 0, 0], [2, 0, 1, 0, 1, 0, 0] ] },
{ ROW_COUNT: 12, COLUMN_COUNT: 7, state: 0, board: [ [2, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 2, 0, 0], [2, 0, 1, 0, 2, 0, 0], [2, 0, 1, 0, 1, 0, 0] ] },
{ ROW_COUNT: 12, COLUMN_COUNT: 7, state: 0, board: [ [2, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 2, 0, 0], [2, 0, 1, 0, 2, 0, 0], [2, 0, 1, 0, 1, 0, 0] ] },
{ ROW_COUNT: 4000, COLUMN_COUNT: 7, state: 0, board: [ [2, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 2, 0, 0], [2, 0, 1, 0, 2, 0, 0], [2, 0, 1, 0, 1, 0, 0] ] },
];
// Accessing data at index dynamically
const index = 3;
const { ROW_COUNT, COLUMN_COUNT, state, board } = gameData[index];
console.info({ROW_COUNT,COLUMN_COUNT,state,board})
Привет @SagarSingh, я обновил код, вы можете получить доступ к любому индексу, изменив значение индекса в вышеупомянутом коде. Надеюсь, это поможет вам!
Если этот индекс не существует, он выдаст ошибку
когда я пытаюсь получить доступ, указав определенный индекс, он выдает мне ошибку «TypeError: недопустимая попытка деструктурировать неитерируемый экземпляр. Чтобы быть итерируемым, объекты, не являющиеся массивами, должны иметь метод [Symbol.iterator]()».
Если у вас есть эта ошибка: { "message": "Uncaught TypeError: Невозможно деструктурировать свойство 'ROW_COUNT' из 'gameData[index]', поскольку оно не определено.", "filename": "stacksnippets.net/js", "lineno": 22, "colno": 9 } Это означает, что вы обращаетесь к индексу объекта, которого нет в массиве. Пожалуйста, проверьте gameData.length @SagarSingh
Благодарю за ваш ответ. Оно работает. Не могли бы вы сказать мне, как я могу получить доступ к 2-му индексу? это дает мне ошибку, если я делаю это-> const [{ ROW_COUNT, COLUMN_COUNT, state, board }] = gameData[1];