如何获取数据库表转换后的JSON对象的记录长度?
解决方法:获取“类数组对象”的记录数
嘿,这个问题我太熟了!咱们先搞明白问题出在哪:你现在手里的act_obj_array并不是真正的JavaScript数组,而是一个带数字属性名的普通对象。数组的length属性是JS引擎自动维护的,但普通对象压根没有这个内置属性,所以你调用length的时候才会返回undefined。
两种快速解决办法
1. 转换成真正的数组(推荐)
用Object.values()方法提取对象里的所有值,直接得到标准数组,之后就能正常用length了:
// 把对象转成数组 const genuineArray = Object.values(act_obj_array); // 现在就能拿到正确的记录数 console.log(genuineArray.length); // 输出:5
2. 直接统计对象的属性数量
如果不需要转换成数组,只是想知道有多少条记录,可以用Object.keys()获取所有属性名,再取这个数组的长度:
const recordCount = Object.keys(act_obj_array).length; console.log(recordCount); // 输出:5
额外建议:从源头用数组结构
如果可以的话,一开始就把数据定义成标准数组(用[]包裹),这样后续操作会更省心:
const act_obj_array = [ {act_id: "3", name: "Bruce Waelbrock Music Scholarship", category: "Life", KIC: "Chester Patch III", description: ""}, {act_id: "4", name: "Christmas Childrens Gift Drive", category: "Community", KIC: "John Evalle", description: ""}, {act_id: "5", name: "Church Drive", category: "Faith", KIC: "", description: ""}, {act_id: "6", name: "Church Kiosk", category: "Faith", KIC: "Diego Rivera", description: ""}, {act_id: "7", name: "Consecration of the Holy Family", category: "Family", KIC: "Roger Olaes", description: ""} ]; console.log(act_obj_array.length); // 直接输出:5
内容的提问来源于stack exchange,提问作者CodeSchlocker
相关产品推荐
相关产品推荐

