Javascript 如何将现有json对象数组中的某些对象复制到新的json数组中
我的JSON对象数组是:Javascript 如何将现有json对象数组中的某些对象复制到新的json数组中,javascript,angularjs,json,Javascript,Angularjs,Json,我的JSON对象数组是: [{ "stateCd": "IL", "value": "Illinois", "selected": "false" }, { "stateCd": "CA", "value": "California", "selected": "true" }, { "stateCd": "NY", "value": "New york", "selected": "false" }] 我想创建一个新的JSON对象数组,它应该只包含上面数组
[{
"stateCd": "IL",
"value": "Illinois",
"selected": "false"
},
{
"stateCd": "CA",
"value": "California",
"selected": "true"
},
{
"stateCd": "NY",
"value": "New york",
"selected": "false"
}]
我想创建一个新的JSON对象数组,它应该只包含上面数组中的那些对象,其中selected:false
我试过了concat
:
angular.forEach($scope.oldJsonArr,函数(值,索引){
if($scope.oldJsonArr[index].selected==“false”){
$scope.newJsonArr.concat($scope.oldJsonArr[index]);
}
});
但这将返回未定义的newJsonArr
。
感谢您的帮助 以下是代码:
$scope.oldJsonArr = [{"stateCd": "IL", "value": "Illinois", "selected": "false"}, {
"stateCd": "CA",
"value": "California",
"selected": "true"
}, {"stateCd": "NY", "value": "New york", "selected": "false"}];
$scope.newJsonArr = [];
angular.forEach($scope.oldJsonArr, function (value, index) {
if ($scope.oldJsonArr[index].selected == "false") {
$scope.newJsonArr.push($scope.oldJsonArr[index]);
}
});
console.info($scope.newJsonArr);
.push()
方法$scope.oldJsonArr = [{"stateCd": "IL", "value": "Illinois", "selected": "false"}, {
"stateCd": "CA",
"value": "California",
"selected": "true"
}, {"stateCd": "NY", "value": "New york", "selected": "false"}];
$scope.newJsonArr = [];
angular.forEach($scope.oldJsonArr, function (value, index) {
if ($scope.oldJsonArr[index].selected == "false") {
$scope.newJsonArr.push($scope.oldJsonArr[index]);
}
});
console.info($scope.newJsonArr);
.push()
方法您可以使用Array.prototype.filter()方法
您可以使用Array.prototype.filter()方法
使用
JavaScript
中的Filter
,而不是使用库实用程序函数
var-people=[
{firstname:“Micro”,hasSocialNetworkSite:false,lastname:“Soft”,site:http://microsoft.com" },
{名字:“Face”,hasSocialNetworkSite:true,姓氏:“Book”,site:http://facebook.com" },
{姓氏:“Go”,hasSocialNetworkSite:true,姓氏:“ogle”,site:http://google.com" },
{firstname:“Twit”,hasSocialNetworkSite:true,lastname:“Ter”,site:http://twitter.com" },
{firstname:“应用程序”,hasSocialNetworkSite:false,lastname:“Le”,站点:http://apple.com" },
{姓氏:“主”,hasSocialNetworkSite:false,姓氏:“卡”,site:http://mastercard.com" }
];
var filteredResult=people.filter(函数v){
返回v.hasSocialNetworkSite==true;//筛选出适当的
});
文档。编写(“社交网站
”;
用于(filteredResult中的变量i){
document.write(filteredResult[i].site+“
”)
}
从JavaScript
使用过滤器
,而不是使用库实用程序函数
var-people=[
{firstname:“Micro”,hasSocialNetworkSite:false,lastname:“Soft”,site:http://microsoft.com" },
{名字:“Face”,hasSocialNetworkSite:true,姓氏:“Book”,site:http://facebook.com" },
{姓氏:“Go”,hasSocialNetworkSite:true,姓氏:“ogle”,site:http://google.com" },
{firstname:“Twit”,hasSocialNetworkSite:true,lastname:“Ter”,site:http://twitter.com" },
{firstname:“应用程序”,hasSocialNetworkSite:false,lastname:“Le”,站点:http://apple.com" },
{姓氏:“主”,hasSocialNetworkSite:false,姓氏:“卡”,site:http://mastercard.com" }
];
var filteredResult=people.filter(函数v){
返回v.hasSocialNetworkSite==true;//筛选出适当的
});
文档。编写(“社交网站
”;
用于(filteredResult中的变量i){
document.write(filteredResult[i].site+“
”)
}
如果使用下划线或简单过滤器,则可以使用下划线.js中的where!thanx…但我不能使用任何其他js文件NP。使用JS中的过滤器。为了更好地理解,请检查我的答案并添加参考资料。结账是的……这很有帮助……谢谢!如果使用下划线或简单过滤器,则可以使用underline.js中的where!thanx…但我不能使用任何其他js文件NP。使用JS中的过滤器。为了更好地理解,请检查我的答案并添加参考资料。结账是的……这很有帮助……谢谢!