gpt4 book ai didi

javascript - 如何从对象中提取这些值

转载 作者:行者123 更新时间:2023-12-03 05:28:07 26 4
gpt4 key购买 nike

请帮忙,我有一个 Angular 方法,我正在尝试从对象中获取值并获得看起来为“周一至周五:0800-1600”的结果

$scope.ourHours = {
services: [{
title: "Office hours",
phone: "1-800-123-1234",
hours: [
{day:'Monday',open:'0800',close:'1800'},
{day:'Tuesday',open:'0800',close:'1800'},
{day:'Wednesday',open:'0800',close:'1800'},
{day:'Thursday',open:'0800',close:'1800'},
{day:'Friday',open:'0800',close:'1800'}
]
}]
};

最佳答案

我会跟踪前几天的情况,如果时间匹配,则将它们分组:

function getHoursText(hours){
var arr = [], txt = [];

for(var i=0; i<hours.length; i++){
if(arr.length &&
(arr[0].open !== hours[i].open || arr[0].close !== hours[i].close)
){
txt.push(arrayToText(arr));
arr = [];
}
arr.push(hours[i]);
}

txt.push(arrayToText(arr));

return txt.join('\n');

function arrayToText(arr){
var str;
if(!arr.length){ return ""; }
str = arr[0].day;
if(arr.length > 1){ str += '-' + arr.pop().day; }
str += ': ' + arr[0].open + '-' + arr[0].close;
return str;
}
}

/*
* Example usage
*/
var hours = [
{day:'Monday',open:'0800',close:'1500'},
{day:'Tuesday',open:'0800',close:'1800'},
{day:'Wednesday',open:'0800',close:'1800'},
{day:'Thursday',open:'0800',close:'1800'},
{day:'Friday',open:'0800',close:'1500'}
];

console.log( getHoursText(hours) );

关于javascript - 如何从对象中提取这些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41069512/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com