我有一个JSON数据。我将这些数据推送到另一个数组。我面临的问题是,我想过滤数据attrs
具有src
属性的数组。并将这些数组推送到另一个数组。任何人都可以帮助我。我没有办法做到这一点。
我的Json数据如下:
DATA:
[
{
"data":{
},
"type":"image",
"attrs":{
"x":92,
"y":163,
"width":100,
"height":100,
"src":"http://localhost:63342/wodrobs/app/scripts/views/img/top.jpg",
"cursor":"move",
"opacity":1
},
"transform":"",
"id":0
},
{
"data":{
},
"type":"path",
"attrs":{
"fill":"none",
"stroke":"#000",
"stroke-dasharray":"- ",
"opacity":0.5
},
"transform":"",
"id":17
},
答案 0 :(得分:0)
据我所知,你的伪json,你可以这样做:
//your data
var a = [
{'src':"a.src"},
{'id':"someid"},
{'src':"b.src"}
];
//the result array
var result = [];
for(i=0; i<a.length;i++){
var e = a[i];
if(e.src){
result.push(e);
}
}
console.log(result);
答案 1 :(得分:0)
我认为这就是你要找的东西:
function HasSrcProperty(value, index, ar) {
return value.some(elem => elem.indexOf("src") > -1)
}
var result = yourJsonArray.filter(HasSrcProperty);
有关javascript数组filter
和some
的更多信息:
https://msdn.microsoft.com/en-us/library/ie/ff679973%28v=vs.94%29.aspx
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/some
答案 2 :(得分:0)
得到了答案。我做的很傻。
var filterData= _.filter(jsonData, function (data) {
return data.attrs.src;
});