gpt4 book ai didi

javascript - 遍历由字符串定义的 $scope

转载 作者:行者123 更新时间:2023-11-29 14:39:58 25 4
gpt4 key购买 nike

我有一个字符串作为属性(“Calendar.Scheduling.field.Appointment.ApptDateTime_Date”)传入,它定义变量在 $scope 中的位置。有没有比遍历子对象更好的方法来获取值在范围内的位置。我希望有一个可以使用的 xpath 类型声明

$scope布局如下:

$scope : {
Calendar: {
Office: {
Name: "Dr. Suess",
Address: "1234 Main St.",
City: "Whoville"
},
Scheduling: {
LastName: "Doe",
FirstName: "Jane",
Appointment: {
"CallDateTime_Date" : "08/05/2016",
"CallDateTime_Time" : "10:24 AM",
"ApptDateTime_Date" : "10/12/2016",
"ApptDateTime_Time" : "06:00 AM"
}
}
}
};

我可以进入 $scope. Calendar.Scheduling.field.Appointment.ApptDateTime_Date 而无需遍历子 [s]。

var dateRef = "Calendar.Scheduling.field.Appointment.ApptDateTime_Date";
tempString = tempString.replace(/\./g, '","');
var ar = JSON.parse('["' + tempString + '"]');

var currentRef = $scope;
ar.forEach(function (entry) {
currentRef = currentRef[entry];
});

currentRef = new Date($scope.apptDate);

最佳答案

我的建议是使用 lodash . Lodash 是一个非常方便的库,有很多有用的实用函数。它提供的两个功能是 getset .有了这些,您可以做到这一点:

var dateRef = "Calendar.Scheduling.field.Appointment.ApptDateTime_Date";
var date = _.get($scope, dateRef); //get value

var newDate = new Date();
_.set($scope, dateRef, newValue); //set value

关于javascript - 遍历由字符串定义的 $scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39758679/

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