Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 将JSON值从字符串转换为角度的整数_Angularjs_Json - Fatal编程技术网

Angularjs 将JSON值从字符串转换为角度的整数

Angularjs 将JSON值从字符串转换为角度的整数,angularjs,json,Angularjs,Json,我有一个非常大的JSON对象数组(大约4000个对象)。其中一个键的值是一个字符串,我想把它转换成一个整数,这样我就可以迭代数组并提取出该键的最大值的对象。以下是该阵列的一个示例: [ { "id": "34567", "title": "Some title", "likes": "5", "comments": "7", "views": "3" }, { "id": "34568", "title": "Some titl

我有一个非常大的JSON对象数组(大约4000个对象)。其中一个键的值是一个字符串,我想把它转换成一个整数,这样我就可以迭代数组并提取出该键的最大值的对象。以下是该阵列的一个示例:

[
  {
    "id": "34567",
    "title": "Some title",
    "likes": "5",
    "comments": "7",
    "views": "3"
  },
  {
    "id": "34568",
    "title": "Some title 2",
    "likes": "4",
    "comments": "7",
    "views": "3"
  },
  {
    "id": "34569",
    "title": "Some title 3",
    "likes": "3",
    "comments": "7",
    "views": "3"
  },
  {
    "id": "34560",
    "title": "Some title 4",
    "likes": "2",
    "comments": "7",
    "views": "3"
  }
]

我要做的是迭代数组,将“likes”值转换为整数,然后取出“likes”值最大的对象。

这只是简单的javascript,执行以下操作:

if (myArray.length) {

    var heighest = myArray[0];
    for (var i = 1; i < myArray.length; i++) {
        var likes = parseInt(myArray[i].likes);
        if (likes > heighest.likes) {
            heighest = myArray[i];
        }
    }

    console.log(heighest); // logs object with id 34567
} else {
    console.log("No items in array");
}
if(myArray.length){
var heighest=myArray[0];
对于(var i=1;iheighest.likes){
heighest=myArray[i];
}
}
console.log(heighest);//记录id为34567的对象
}否则{
log(“数组中没有项”);
}

这只是简单的javascript,请执行以下操作:

if (myArray.length) {

    var heighest = myArray[0];
    for (var i = 1; i < myArray.length; i++) {
        var likes = parseInt(myArray[i].likes);
        if (likes > heighest.likes) {
            heighest = myArray[i];
        }
    }

    console.log(heighest); // logs object with id 34567
} else {
    console.log("No items in array");
}
if(myArray.length){
var heighest=myArray[0];
对于(var i=1;iheighest.likes){
heighest=myArray[i];
}
}
console.log(heighest);//记录id为34567的对象
}否则{
log(“数组中没有项”);
}

检查此解决方案。将
likes
值存储在临时变量中,如果发现更高的值,也可以通过将对象替换为当前值来替换它

var项目=[{
“id”:“34567”,
“头衔”:“某个头衔”,
“喜欢”:“5”,
“评论”:“7”,
“视图”:“3”
}, {
“id”:“34568”,
“标题”:“一些标题2”,
“喜欢”:“4”,
“评论”:“7”,
“视图”:“3”
}, {
“id”:“34569”,
“标题”:“一些标题3”,
“喜欢”:“3”,
“评论”:“7”,
“视图”:“3”
}, {
“id”:“34560”,
“标题”:“一些标题4”,
“喜欢”:“2”,
“评论”:“7”,
“视图”:“3”
}];
var最佳;
var max=0;
对于(变量i=0;i最大值){
max=喜欢;
最佳=项目[i];
}
}

console.log(最佳)检查此解决方案。将
likes
值存储在临时变量中,如果发现更高的值,也可以通过将对象替换为当前值来替换它

var项目=[{
“id”:“34567”,
“头衔”:“某个头衔”,
“喜欢”:“5”,
“评论”:“7”,
“视图”:“3”
}, {
“id”:“34568”,
“标题”:“一些标题2”,
“喜欢”:“4”,
“评论”:“7”,
“视图”:“3”
}, {
“id”:“34569”,
“标题”:“一些标题3”,
“喜欢”:“3”,
“评论”:“7”,
“视图”:“3”
}, {
“id”:“34560”,
“标题”:“一些标题4”,
“喜欢”:“2”,
“评论”:“7”,
“视图”:“3”
}];
var最佳;
var max=0;
对于(变量i=0;i最大值){
max=喜欢;
最佳=项目[i];
}
}

console.log(最佳)parseInt
likes属性并存储最高like数的索引。如果您想编写更少的代码和更多的功能,Lodash只是一个建议。我相信.maxBy(数组,[iteratee=.identity])将解决您当前的问题。只有在JSON(基本上是一个对象集合)上有许多操作/操作要做时,才使用它。你试过写什么吗?4000并没有那么大,而且您的过程似乎很简单。请尝试使用Lodash第三方脚本来处理此类场景,您不需要Lodash。只需循环对象,
parseInt
likes属性并存储最高like数的索引。如果您想编写更少的代码和更多的功能,Lodash只是一个建议。我相信.maxBy(数组,[iteratee=.identity])将解决您当前的问题。只有在JSON(基本上是一个对象集合)上有许多操作/操作要执行时才使用它。