根据ID从对象数组获取特定值

时间:2020-03-09 22:27:21

标签: angular typescript

.onAppear() {
        if self.addNewPost == true {
            self.moodVM.addItem(moodStatus: self.currentMood)
            self.addNewPost = false
        } else {
            print("Nothing !!")
        }
    }

我想根据特定的ID获得名称。

结果:attachmentName =基于ID = 1234的“服务器1”

我尝试了a.filter,但是它没有给我正确的结果。任何建议都会有帮助

3 个答案:

答案 0 :(得分:2)

您要查找的是find()方法,该方法将向您返回符合您条件的数组项。

let a = [{'id': '1234', 'name':'Server 1'}, {'id': '2262', 'name':'Server 2'}];
let yourWantedName = a.find(element => {
  return element.id === '1234';
}).name;

答案 1 :(得分:0)

真正的过滤器不起作用?嗯。这个怎么样。您是否尝试过使用find方法?

let a=[{'id': '1234', 'name':'Server 1'}, {'id': '2262', 'name':'Server 2'}];

const res = a.find( (item) => item.id === '1234' );

console.log(res)

注意:find将返回循环结束后将命中的第一项。您可以找到有关find method here

的更多信息

答案 2 :(得分:0)

您实际上想使用Array.find而不是Array.filterArray.filter将返回匹配结果的数组,而Array.find将返回找到的第一个结果。由于您尝试通过id查找内容,因此可以执行以下操作:

let a=[{'id': '1234', 'name':'Server 1'}, {'id': '2262', 'name':'Server 2'}];

id='1234'

const id1234 = a.find(o => o.id === id);
console.log(id1234);

Array.find

Array.filter