如何从数组中分割和搜索?

问题描述 投票:1回答:1

我正在尝试从电话簿中搜索名称并打印出结果(name: number)。

我的解决方法是拆分一个预定义的数组phonebook,然后从我得到的新数组中找到一个预定义的名称name。搜索到的名称应与数字一起保存到预定义的para2中。

我无法对//Ad your code here -tag之前的代码进行任何更改。如果不对分割使用.toString,则会出现错误。如果使用它,代码将不返回任何内容。

我猜我的问题与字符串/数组内容有关,但无法解决此问题。

// Don't change this
let name = 'Mustafa';
let para2 = document.createElement('p');

let phonebook = [
  { name : 'Anne', number : '9065' },
  { name : 'Mustafa', number : '6888' },
  { name : 'Tina', number : '4312' },
]

// Add your code here
i = 0;
do {
  let splitContact = phonebook[i].toString().split('name : ', ', number : ');
  let nameListed = splitContact[0]
  let numberListed = splitContact[1]
  if (nameListed === name) {
    para2.textContent = nameListed.textContent + ': ' + numberListed.textContent;
    break;
  } else {
    para2.textContent = 'Contact not found.';
  }
  i++;
} while (i < phonebook.length);
javascript split tostring
1个回答
0
投票

我认为您想要这样做,只需要访问作为对象的数组元素,并插入在您的情况下为名称和数字的属性

// Don't change this
let name = 'Mustafa';
let para2 = document.createElement('p');

let phonebook = [
  { name : 'Anne', number : '9065' },
  { name : 'Mustafa', number : '6888' },
  { name : 'Tina', number : '4312' },
]

// Add your code here
i = 0;
do {

  let nameListed =  phonebook[i].name
  let numberListed = phonebook[i].number
  if (nameListed === name) {
    para2.textContent = nameListed.textContent + ': ' + numberListed.textContent;
    break;
  } else {
    para2.textContent = 'Contact not found.';
  }
  i++;
} while (i < phonebook.length);
© www.soinside.com 2019 - 2024. All rights reserved.