Как получить доступ к индексу вложенных элементов в объекте JS? - PullRequest
0 голосов
/ 11 октября 2018

Здесь я, вероятно, должен что-то добавить, чтобы исправить проблему, я застрял с этим индексом, который возвращает весь объект, моя цель - напечатать индекс выбранного элемента, пожалуйста, кто-нибудь поможет

 const listItems = this.state.list.map((item, index) =>
        Object.values(item).map(nestedItem => (
        <div>
            <Card.Header>
                {nestedItem.title}
            </Card.Header>
            <div class="ui buttons fluid">
            <button
                onClick={() => this.upvote(index)}
            >
                UPVOTE
            </button>
        </div>
        ))
    );

Приведенный ниже код работает правильно, просто я жестко закодировал искомый индекс 2 в этом примере

console.log(Object.keys(this.state.list[index])[2]);

И это весь объект, все, что мне сейчас нужно, это его индекс

0: "-LORYsI9mLP8mu_2BTKS"
1: "-LORZVOq8SMUgTOPgpXK"
2: "-LORZtqZeg3nyOW4p9I1"
3: "-LOYbElg81jbPtao2nl4"
4: "-LOZ3pNNMAOtNxMWNDi4"

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Если вам нужны индексы для вложенных элементов, вам понадобится другая переменная на карте fn

Object.values(item).map((nestedItem, nestedIndex) => <div>...</div>

, а затем используйте переменную nestedIndex вваш upvote метод

0 голосов
/ 11 октября 2018

Вам нужен только индекс внутреннего отображения?Я все еще смущен вопросом, но, возможно, что-то вроде этого.

const listItems = this.state.list.map((item, index) =>
        Object.values(item).map((nestedItem, nestedIndex) => (
        <div>
            <Card.Header>
                {nestedItem.title}
            </Card.Header>
            <div class="ui buttons fluid">
            <button
                onClick={() => this.upvote(index, nestedIndex)}
            >
                UPVOTE
            </button>
        </div>
        ))
    );

Если это не сработает, не могли бы вы опубликовать пример вашей структуры данных?

вотдокументы: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map#Syntax

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...