Count数组中元素的个数(不是长度)
Count number of elements in an array in javascript (not length)
我有一个数组与不同的"列",例如:id,标题,日期,数据等
JSON数组
数据元素有多个条目:
"data":["test = test", "2nd test", "3rd test"]
如何找到"结果"数组的"数据"元素中有多少项?当我尝试result.data.length
时,它给出了整个长度,也就是所有的字符。这里,它会说27,而我想要3作为答案。
编辑:这就是我如何获得元素并推动它们(我得到一个JSON数组):
$.getJSON("test.php?id=" + id, function(data) {
$.each(data, function(index, data1) {
window.result.push(data1);
});
下面是test.php代码:
if(isset($_GET['id'])){
$id = $_GET['id'];
$liste = getData($id);
$arr = array();
$i = 0;
foreach($liste as $result){
$arr[$i]['id'] = $result->id();
$arr[$i]['titre'] = $result->titre();
$arr[$i]['data'] = $result->listeMot();
$i++;
}
echo json_encode($arr);
谢谢你的帮助
答案终于找到了(非常感谢@RocketHamzat)。它确实是一个字符串,而不是一个数组。在这种情况下,我在每对单词后面都有返回(我以为它们是用逗号分隔的,但它们不是)。
所以,为了计数,我是这样做的:
result.data.split(''r'n').length;
这就像一个魅力。谢谢你的帮助!
我同意张贴的评论-您的返回对象看起来好像没有正确格式化。Data应该是一个具有数组键值的对象。返回结果应该如下所示:
var d = '{"data":["test = test", "2nd test", "3rd test"]}';
console.dir(JSON.parse(d));
var arr = JSON.parse(d);
console.log(arr.data.length);
控制台。Dir将显示该对象,console.log显示的长度为3。
您是否手动将响应格式化为JSON字符串?如果是,用{}
换行希望对你有帮助。
相关文章:
- 在函数中添加数组元素的数值
- 访问JSON对象内部的数组元素
- Mongoose-在更新中删除数组元素
- javascript数组元素是否知道其封闭数组
- 将数组元素附加到FormData dos'不适用于Firefox 15
- 如何在javascript中使用click函数选择数组元素
- 如何在JavaScript中剥离数组元素中的非整数
- 消隐数组元素是否生成自己的属性
- 如何使一个Math.random数组元素比另一个数组元素更有可能被选中
- 在Codrops的内容中添加数组元素展开缩略图网格预览
- 如何使用Jquery水平打印表中的数组元素,并在某个元素之后垂直打印
- 如何访问数组中的数组元素(JavaScript)
- 生成ACF标记位置的数组(元素列表后缺少])
- validate.js验证数组元素
- JavaScript Unshift EACH 数组元素
- 如何在加号运算符之后选择数组元素的一部分
- 访问标记图标的图像数组元素
- JavaScript 合并相同的数组元素
- 删除仅空格数组元素
- JavaScript闭包和返回数组元素