03.04.2018, 23:35
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
массив поиск по свойству
vovang,
function searchProperty(array, property, value) {
for (var i = 0; i < array.length; i++) {
var item = array[i];
if (property in item && item[property] == value) {
return i;
}
}
return -1;
}
var park = [{busn:111, name:222, marsh:123}, {busn:222, name:777, marsh:333}];
var marshrut = [];
var index = searchProperty(park, "name", "777");
alert(index);
var obj;
if (index !== -1) {
obj = park.splice(index, 1)[0];
}
if (obj) {
marshrut.push(obj);
}
alert(JSON.stringify(park));
alert(JSON.stringify(marshrut));
Последний раз редактировалось рони, 03.04.2018 в 23:41.
|
|
03.04.2018, 23:40
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
arr.find(el=>Object.keys(el).some(el=>el=='нужное свойство'))
вернет первый найденный объект с нужным свойством
arr - это ваш массив с объектами
Последний раз редактировалось j0hnik, 04.04.2018 в 00:42.
|
|
03.04.2018, 23:43
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
Сообщение от j0hnik
|
вернет первый найденный объект с нужным свойством
|
этот код работает?
|
|
03.04.2018, 23:50
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
Сообщение от рони
|
этот код работает?
|
var arr = [{a:1},{b:2},{c:3}];
console.log(arr.find(el=>Object.keys(el).some(el=>el=='b')));
Последний раз редактировалось j0hnik, 04.04.2018 в 00:42.
|
|
04.04.2018, 00:00
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
j0hnik,
Цитата:
|
- Этот человек - программист, - поворачиваясь к Ватсону говорит сыщик. - Почему вы так решили, Холмс? - Это же элементарно. Он дал абсолютно правильный ответ, который абсолютно бесполезен.
|
|
|
04.04.2018, 00:08
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
рони, пффф... ваш анекдот
|
|
04.04.2018, 00:10
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
рони,
а что ваша программка делает?
явно что-то не по ТЗ
|
|
04.04.2018, 00:17
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
Сообщение от j0hnik
|
а что ваша программка делает?
явно что-то не по ТЗ
|
ваш совет рабочий, но бесполезный, а пост №11 это то что нужно.
|
|
04.04.2018, 00:18
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
var arr = [{busn:111, name:222, marsh:123}, {busn:222, name:777, marsh:333}];
var func = (a,b) => arr.find(el=> Object.keys(el).some(el=>el==a)&& Object.values(el).some(el=>el==b));
console.log(func('name', 777));
а теперь?
Но рабочий же, а вы сомневались, ай ай ай ..
Последний раз редактировалось j0hnik, 04.04.2018 в 00:39.
|
|
04.04.2018, 00:22
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
Сообщение от j0hnik
|
а теперь?
|
но веть вам же дали массив
[{busn:111, name:222, marsh:123}, {busn:222, name:777, marsh:333}];
как это
Сообщение от j0hnik
|
Object.keys(el) == 'a'
|
будет искать среди множества свойств?
|
|
|
|