const sourceKey = 'population';
const sourceVal = 2870528;
const targetKey = 'name';
const [ val ] = jp.query(cities, `$[?(@.${sourceKey} == ${sourceVal})].${targetKey}`);
const val = (cities.find(n => n[sourceKey] === sourceVal) || {})[targetKey];
[object Object]
, дефолтное строковое представление объектов. Если первый аргумент, переданный в JSON.parse, не является строкой, он будет в строку преобразован. Вы пытаетесь распарсить объект. Нет необходимости использовать JSON.parse, всё уже как надо. "address": {
), или же массивом, содержащим объекты ("address": [ {
). пишет что такой компонент не зарегистрирован
computed: {
sortedInfo() {
return [...this.info].sort((a, b) => {
// как именно сортировать - тут уж вам виднее
});
},
},
fetch(filename)
.then(r => r.text())
.then(r => r.split('\n').map(n => {
const [ key, val ] = n.split(' = ');
return { [key]: val };
}))
.then(arr => {
// ну вот вам ваши объекты
});
r.split('\n')
на r.match(/\$[a-z0-9-]+ = #[0-9a-f]{6}/g)
, например. data: JSON.stringify({ action: 'get_genres' })
json_decode($_POST['action'])
json_decode(file_get_contents('php://input'), true)['action']
Comment
- судя по имени и по коду, он должен рендерить один комментарий, а у вас массив. Наверное, тут нужен ещё один компонент - список комментариев.const Comment = ({ general, job, address }) => (
<li>
<div>first name: {general.firstName}</div>
<div>last name: {general.lastName}</div>
<div>company: {job.company}</div>
<div>address: {address.country}, {address.city}, {address.street}</div>
</li>
);
const CommentList = ({ comments }) => (
<ul>
{comments.map(n => <Comment {...n} />)}
</ul>
);
ReactDOM.render(
<CommentList comments={comments} />,
document.getElementById('root')
);
JSON.stringify(user, (k, v) => v instanceof Function ? v.toString() : v)