2016-09-24 2 views
1

Эти вопросы предназначены для моего проекта LightSwitch, но я не уверен, что это унизительно. Я никогда не делал javascript или jquery раньше, и я уверен, что это не будет иметь ничего общего с LightSwitch и все, что связано с последним.Получите элемент из массива с равным значению

Следующий код работает отлично устанавливая тест, равный 4, в моем случае:

myapp.BrowseTreeNodes.TreeNodes_render = function (element, contentItem) { 
    var screen = contentItem.screen; 
    var result = screen.MyArray.data[0]; 
    var test = result.Id; 
} 

Что мне нужно сделать, это вместо того, чтобы результат первого элемента массива, мне нужно, чтобы установить привести к пункту с определенным Id, для этого примера допустим 4.

Вот что я пробовал:

var result = $.grep(screen.MyArray.data, function (e) { return e.Id === 4; })[0]; 
var result = screen.MyArray.data.filter(function (v) { return v.Id === 4; })[0]; 
var result = screen.MyArray.data.find(x => x.Id === 4)[0]; 

Спасибо заранее.

+1

ваша проблема может быть '===', '===' также проверяет тип, поэтому '' 4 "=== 4' является' false', тогда как '' 4 "== 4' является' true', проверьте, соответствует ли ваш идентификатор свойство хранится в виде строки или целого числа ... – WalksAway

+0

OMG спасибо, я отрывал свои волосы от этого. Линия $ .grep отлично поработала, когда я изменил ее на == 4. Я буду отмечать это как решение, если вы отправляете его как ответ, а не комментарий. – LorneCash

+0

отлично !, рад, что смогу помочь, я отправил комментарий в качестве ответа – WalksAway

ответ

1

ваша проблема может быть ======, проверяет типа, а также, так "4" === 4 является false в то время как "4" == 4 является true, проверьте, если ваша собственность идентификатор хранится в виде строки или целого ...

Смежные вопросы