Reactjs-用另一个数组替换数组值
2016-12-09
34
我有一个数组
var imagesArray = [
{
url: '4.jpg'
},
{
url: '2.jpg'
},
{
url: '3.jpg'
}
];
我得到了一个 JSON 响应
[{"path":"site:1.jpg","data":[]},
{"path":"site:5.jpg","data":[]},
{"path":"site:7.jpg","data":[]}]
如何将 JSON 响应的
path
值中的
imagesArray
中的
url
值替换为 1.jpg、5.jpg、7.jpg?
3个回答
这将为您提供一个包含三个对象的数组,其中包含您想要的 url 属性。
var formatedResponse = response.map((r) => { return {url: r.path.split(':')[1]};})
Rob Lynch
2016-12-09
var imagesArray = [
{
url: '4.jpg'
},
{
url: '2.jpg'
},
{
url: '3.jpg'
}
];
response = [{"path":"site:1.jpg","data":[]},
{"path":"site:5.jpg","data":[]},
{"path":"site:7.jpg","data":[]}]
class Test extends React.Component {
render(){
imagesArray = imagesArray.map((img,i)=>{return({url : response[i].path}) })
return (
<code>{JSON.stringify(imagesArray)}</code>
)
}
}
React.render(<Test />, document.getElementById('container'));
Ved
2016-12-09
也许你可以做这样的事情:
let imagesArray = [
{
url: '4.jpg'
},
{
url: '2.jpg'
},
{
url: '3.jpg'
}
];
let response = [
{"path":"site:1.jpg","data":[]},
{"path":"site:5.jpg","data":[]},
{"path":"site:7.jpg","data":[]}
]
let newArray = imagesArray.map( (img, i) => img.url = response.filter( r => r.path)[i]);
console.log(JSON.stringify(newArray));
Boky
2016-12-09