Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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
Javascript 如何设置数组的属性_Javascript_Arrays_Object - Fatal编程技术网

Javascript 如何设置数组的属性

Javascript 如何设置数组的属性,javascript,arrays,object,Javascript,Arrays,Object,有人能帮我计算数组属性的代码吗?我有一个数组,我想计算所有值为1的完整项。这是我的数组 [{ "order_id": "336566", "customer_name": "joel", "customer_surname": "kabeya", "total_items": "0", "completed_items": "0", "percent_complete": 1, "datetime_received": "2019-01-2

有人能帮我计算数组属性的代码吗?我有一个数组,我想计算所有值为1的完整项。这是我的数组

[{
    "order_id": "336566",
    "customer_name": "joel",
    "customer_surname": "kabeya",
    "total_items": "0",
    "completed_items": "0",
    "percent_complete": 1,
    "datetime_received": "2019-01-21 15:00:27",
    "delivery_date": "2019-01-24",
    "delivery_from": "10:30",
    "delivery_to": "12:00",
    "completed": "1",
    "shopper": "joel"
}, {
    "order_id": "335719",
    "customer_name": "joel",
    "customer_surname": "kabeya",
    "total_items": "0",
    "completed_items": "0",
    "percent_complete": 1,
    "datetime_received": "2018-12-24 13:46:27",
    "delivery_date": "2018-12-30",
    "delivery_from": "10:30",
    "delivery_to": "12:00",
    "completed": "1",
    "shopper": "joel"
}, {
    "order_id": "336531",
    "customer_name": "Tay",
    "customer_surname": "Z",
    "total_items": "0",
    "completed_items": "0",
    "percent_complete": 1,
    "datetime_received": "2019-01-11 08:42:27",
    "delivery_date": "2019-01-17",
    "delivery_from": "10:30",
    "delivery_to": "12:00",
    "completed": "1",
    "shopper": "joel"
}, {
    "order_id": "336545",
    "customer_name": "joel",
    "customer_surname": "kabeya",
    "total_items": "0",
    "completed_items": "0",
    "percent_complete": 1,
    "datetime_received": "2019-01-17 19:00:27",
    "delivery_date": "2019-01-18",
    "delivery_from": "11:00",
    "delivery_to": "12:00",
    "completed": "0",
    "shopper": "joel"
}, {
    "order_id": "241918",
    "customer_name": "Marietjie",
    "customer_surname": "Short",
    "total_items": "44",
    "completed_items": "44",
    "percent_complete": 1,
    "datetime_received": "2018-07-25 15:18:25",
    "delivery_date": "2018-10-29",
    "delivery_from": "12:00",
    "delivery_to": "13:00",
    "completed": "0",
    "shopper": "Tay"
}, {
    "order_id": "281774",
    "customer_name": "Ashleigh",
    "customer_surname": "Hodge",
    "total_items": "16",
    "completed_items": "0",
    "percent_complete": 0,
    "datetime_received": "2018-10-04 15:59:19",
    "delivery_date": "2018-10-29",
    "delivery_from": "12:00",
    "delivery_to": "13:00",
    "completed": "0",
    "shopper": null
}]

使用
foreach
循环进行迭代和添加。也可以使用
过滤器

//foreach
foreach
循环循环遍历每个元素,并检查对象是否已完成属性设置为1。如果为1,则计数器递增并返回。否则计数器将按原样返回

//filter
过滤器还逐个循环遍历元素,如果它们满足条件
(completed==1)
,它将返回true并将元素发送到一个新数组,我们将打印该数组的长度。如果返回false,则该值不会插入数组中

var a=[{
“订单id”:“336566”,
“客户名称”:“joel”,
“客户姓氏”:“卡贝亚”,
“项目总数”:“0”,
“已完成的项目”:“0”,
“完成百分比”:1,
“收到日期时间”:“2019-01-21 15:00:27”,
“交付日期”:“2019-01-24”,
“交货地点”:“10:30”,
“交付至”:“12:00”,
“已完成”:“1”,
“购物者”:“乔尔”
}, {
“订单id”:“335719”,
“客户名称”:“joel”,
“客户姓氏”:“卡贝亚”,
“项目总数”:“0”,
“已完成的项目”:“0”,
“完成百分比”:1,
“收到日期时间”:“2018-12-24 13:46:27”,
“交付日期”:“2018-12-30”,
“交货地点”:“10:30”,
“交付至”:“12:00”,
“已完成”:“1”,
“购物者”:“乔尔”
}, {
“订单id”:“336531”,
“客户名称”:“泰”,
“客户姓氏”:“Z”,
“项目总数”:“0”,
“已完成的项目”:“0”,
“完成百分比”:1,
“收到日期时间”:“2019-01-11 08:42:27”,
“交付日期”:“2019-01-17”,
“交货地点”:“10:30”,
“交付至”:“12:00”,
“已完成”:“1”,
“购物者”:“乔尔”
}, {
“订单id”:“336545”,
“客户名称”:“joel”,
“客户姓氏”:“卡贝亚”,
“项目总数”:“0”,
“已完成的项目”:“0”,
“完成百分比”:1,
“收到日期时间”:“2019-01-17 19:00:27”,
“交付日期”:“2019-01-18”,
“交付时间”:“11:00”,
“交付至”:“12:00”,
“已完成”:“0”,
“购物者”:“乔尔”
}, {
“订单号”:“241918”,
“客户名称”:“Marietjie”,
“客户姓氏”:“短”,
“项目总数”:“44”,
“已完成的项目”:“44”,
“完成百分比”:1,
“收到日期时间”:“2018-07-25 15:18:25”,
“交付日期”:“2018-10-29”,
“交付时间”:“12:00”,
“交付至”:“13:00”,
“已完成”:“0”,
“购物者”:“泰”
}, {
“订单号”:“281774”,
“客户名称”:“Ashleigh”,
“客户姓氏”:“Hodge”,
“项目总数”:“16”,
“已完成的项目”:“0”,
“完成百分比”:0,
“收到日期时间”:“2018-10-04 15:59:19”,
“交付日期”:“2018-10-29”,
“交付时间”:“12:00”,
“交付至”:“13:00”,
“已完成”:“0”,
“购物者”:空
}]
var计数=0;
a、 forEach((e)=>e.completed==“1”?计数++:计数)
控制台日志(计数);
//滤器
console.log(a.filter((e)=>e.completed==“1”?true:false).length)
利用并使用
数组的
length
属性。请记住,您的完成标准是
completed
字符串
“1”
。因此,基于该谓词进行筛选,然后计算剩余的项目

const yourPileOfData=[{
已完成:“1”
},
{
已完成:“1”
},
{
已完成:“0”
}
];
const count=yourPileOfData.filter(i=>i.completed==“1”).length;

控制台日志(计数)
数组开始。reduce()
并尝试返回。甚至
Array.filter(somfilterfunction).length
@egalvan10它在标记中。您也可以使用
for
循环,或
forEach()
函数。每当对象符合条件时,它们都只是递增一个计数器。@egalvan10我使用的是Javascript,你所说的
计数所有值为1的完整项是什么意思?