make: Entering directory '/usr/src/app'
npm test -s
FAIL __tests__/math.test.js
✕ average (18ms)
● average
expect(received).toBeNull()
Received: NaN
5 | expect(average(0, 10)).toBe(5);
6 | expect(average(-3, 4, 2, 10)).toBe(3.25);
> 7 | expect(average()).toBeNull();
| ^
8 | });
9 |
at Object.toBeNull (__tests__/math.test.js:7:21)
console.log math.js:13
3.25
const data = {
user: 'ubuntu',
cores: 4,
os: 'linux',
};
function pick(obj, arr){
let result = [];
let all = Object.entries(obj);
for([key, value] of all){
for(let i = 0; i < arr.length; i += 1){
if(key == arr[i]){
result.push(`${key}: ${value}`);
}
}
}
return result;
}
pick(data, ['user']); // { user: 'ubuntu' }
console.log(pick(data, ['user', 'os'])); // { user: 'ubuntu', os: 'linux' }
pick(data, []); // {}
pick(data, ['none']); // {}
o = o[parr[i]];
1) o['hosts'];
2) o[1];
3) o[null];
data['hosts'][1][null]
1. запрещено решать через рекурсию??
2. вы не знаете рекурсивные функции??
3. ничего что в функцию объект передается и передается дальше в рекурсию?? т.е. это и есть итерация неизвестной глубины.
const data = {
user: 'ubuntu',
hosts: {
0: {
name: 'web1',
},
1: {
name: 'web2',
null: 3,
},
},
};
getIn(data, ['undefined']); // null
getIn(data, ['user']); // 'ubuntu'
getIn(data, ['user', 'ubuntu']); // null
getIn(data, ['hosts', 1, 'name']); // 'web2'
getIn(data, ['hosts', 0]); // { name: 'web1' }
getIn(data, ['hosts', 1, null]); // 3