Как отобразить конкретное значение ключа во вложенном объекте

@RSC

для меня критическое дополнение в Xcode версии 6.2 (6C86e) находится в override func viewDidLoad()

 self.input.delegate = self;

Пробовал заставить его работать с ключом возврата в течение нескольких часов пока я не нашел ваш пост, RSC. Спасибо

Кроме того, если вы хотите скрыть клавиатуру, если вы касаетесь в любом месте экрана:

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) { self.view.endEditing(true); }

1
задан user7716943 15 January 2019 в 20:36
поделиться

3 ответа

Вам необходимо явно извлечь эти значения:

const data = {"results":[{"_id":"5c3e2e2565d9440e8e4fa3f3","team1":2,"team2":4,"createdAt":"2019-01-15T19:01:57.842Z","updatedAt":"2019-01-15T19:01:58.020Z","__v":0,"user":"5c385ff34ae2c90d18fcb95f"},{"_id":"5c3e2e2865d9440e8e4fa3f4","team1":3,"team2":2,"createdAt":"2019-01-15T19:02:00.480Z","updatedAt":"2019-01-15T19:02:00.649Z","__v":0,"user":"5c385ff34ae2c90d18fcb95f"},{"_id":"5c3e2e5265d9440e8e4fa3f5","team1":1,"team2":3,"createdAt":"2019-01-15T19:02:42.642Z","updatedAt":"2019-01-15T19:02:42.814Z","__v":0,"user":"5c385ff34ae2c90d18fcb95f"}]}

const array = data.results.map(o => [o.team1, o.team2])

console.log(array)

Если у вас есть большое количество значений, вы может создать функцию, которая извлекает список значений из объекта, а затем использует его в качестве обратного вызова карты:

const data = {"results":[{"_id":"5c3e2e2565d9440e8e4fa3f3","team1":2,"team2":4,"createdAt":"2019-01-15T19:01:57.842Z","updatedAt":"2019-01-15T19:01:58.020Z","__v":0,"user":"5c385ff34ae2c90d18fcb95f"},{"_id":"5c3e2e2865d9440e8e4fa3f4","team1":3,"team2":2,"createdAt":"2019-01-15T19:02:00.480Z","updatedAt":"2019-01-15T19:02:00.649Z","__v":0,"user":"5c385ff34ae2c90d18fcb95f"},{"_id":"5c3e2e5265d9440e8e4fa3f5","team1":1,"team2":3,"createdAt":"2019-01-15T19:02:42.642Z","updatedAt":"2019-01-15T19:02:42.814Z","__v":0,"user":"5c385ff34ae2c90d18fcb95f"}]}

const getValues = keys => o => keys.map(key => o[key], {});
const array = data.results.map(getValues(['team1', 'team2']));

console.log(array)

0
ответ дан Ori Drori 15 January 2019 в 20:36
поделиться

Вы можете использовать array: reduce для итерации по каждому объекту, извлечь два требуемых свойства и вставить их в массив накопителя результатов.

const data = {
  "results": [
    {
      "_id": "5c3e2e2565d9440e8e4fa3f3",
      "team1": 2,
      "team2": 4,
      "createdAt": "2019-01-15T19:01:57.842Z",
      "updatedAt": "2019-01-15T19:01:58.020Z",
      "__v": 0,
      "user": "5c385ff34ae2c90d18fcb95f"
    },
    {
      "_id": "5c3e2e2865d9440e8e4fa3f4",
      "team1": 3,
      "team2": 2,
      "createdAt": "2019-01-15T19:02:00.480Z",
      "updatedAt": "2019-01-15T19:02:00.649Z",
      "__v": 0,
      "user": "5c385ff34ae2c90d18fcb95f"
    },
    {
      "_id": "5c3e2e5265d9440e8e4fa3f5",
      "team1": 1,
      "team2": 3,
      "createdAt": "2019-01-15T19:02:42.642Z",
      "updatedAt": "2019-01-15T19:02:42.814Z",
      "__v": 0,
      "user": "5c385ff34ae2c90d18fcb95f"
    }
  ]
}

const processData = (data) => data.reduce((acc, {team1, team2}) => { // acc is accumulator array, destructure data object into properties you want
  acc.push([team1, team2]); // create new array of teams 1 and 2 and push into accumulator
  return acc;
}, []);

console.log(processData(data.results));

0
ответ дан Drew Reese 15 January 2019 в 20:36
поделиться

Вы можете уничтожить нужные свойства, сопоставив массив напрямую.

var data = { results: [{ _id: "5c3e2e2565d9440e8e4fa3f3", team1: 2, team2: 4, createdAt: "2019-01-15T19:01:57.842Z", updatedAt: "2019-01-15T19:01:58.020Z", __v: 0, user: "5c385ff34ae2c90d18fcb95f" }, { _id: "5c3e2e2865d9440e8e4fa3f4", team1: 3, team2: 2, createdAt: "2019-01-15T19:02:00.480Z", updatedAt: "2019-01-15T19:02:00.649Z", __v: 0, user: "5c385ff34ae2c90d18fcb95f" }, { _id: "5c3e2e5265d9440e8e4fa3f5", team1: 1, team2: 3, createdAt: "2019-01-15T19:02:42.642Z", updatedAt: "2019-01-15T19:02:42.814Z", __v: 0, user: "5c385ff34ae2c90d18fcb95f" }] },
    result = data.results.map(({ team1, team2 }) => [team1, team2]);
    
console.log(result);

0
ответ дан Nina Scholz 15 January 2019 в 20:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: