{__ob__: Observer} startTime : "13:0:0" stopTime : "14:0:0"} 判断这个对象在0 : startTime : "13:0:0" stopTime : "14:0:0" __ob__ : Observer {value: {…}, shallow: false, mock: false, dep: Dep, vmCount: 0} get startTime : ƒ reactiveGetter() set startTime : ƒ reactiveSetter(newVal) get stopTime : ƒ reactiveGetter() set stopTime : ƒ reactiveSetter(newVal) [[Prototype]] : Object 1 : startTime : "16:0:0" stopTime : "17:0:0" __ob__ : Observer {value: {…}, shallow: false, mock: false, dep: Dep, vmCount: 0} get startTime : ƒ reactiveGetter() set startTime : ƒ reactiveSetter(newVal) get stopTime : ƒ reactiveGetter() set stopTime : ƒ reactiveSetter(newVal) [[Prototype]] : Object 2 : startTime : "16:0:0" stopTime : "0:0:0" __ob__ : Observer {value: {…}, shallow: false, mock: false, dep: Dep, vmCount: 0} get startTime : ƒ reactiveGetter() set startTime : ƒ reactiveSetter(newVal) get stopTime : ƒ reactiveGetter() set stopTime : ƒ reactiveSetter(newVal) [[Prototype]] : Object 3 : startTime : "16:22:58" stopTime : "19:22:58" 在这个数组中的处在第几个,代码怎么写
时间: 2023-12-14 08:37:25 浏览: 33
这个数组中的对象处于第4个位置,可以使用数组的indexOf方法来查找该对象在数组中的位置,代码如下:
```
const arr = [
{startTime: "13:0:0", stopTime: "14:0:0", __ob__: Observer},
{startTime: "16:0:0", stopTime: "17:0:0", __ob__: Observer},
{startTime: "16:0:0", stopTime: "0:0:0", __ob__: Observer},
{startTime: "16:22:58", stopTime: "19:22:58", __ob__: Observer}
];
const obj = {startTime: "16:22:58", stopTime: "19:22:58", __ob__: Observer};
const index = arr.indexOf(obj);
console.log(index); // 输出3
```
相关问题
{__ob__: Observer} startTime : "13:0:0" stopTime : "14:0:0"} 判断这个对象在0 : startTime : "13:0:0" stopTime : "14:0:0" __ob__ : Observer {value: {…}, shallow: false, mock: false, dep: Dep, vmCount: 0} get startTime : ƒ reactiveGetter() set startTime : ƒ
这个对象是一个响应式对象,它有两个属性,startTime 和 stopTime。__ob__ 是一个特殊的属性,它是 Vue.js 内部用来实现响应式的,通常我们不需要直接访问它。 startTime 和 stopTime 都有对应的 getter 和 setter 函数,这些函数在对象被访问或修改时会被触发。
要判断这个对象是否在0点到1点之间,可以先将 startTime 和 stopTime 转换成对应的时间戳,然后比较它们与0点和1点的时间戳的大小关系。具体实现可以参考下面的代码:
```javascript
// 将时间字符串转换成时间戳
function getTimeStamp(timeStr) {
const [hour, minute, second] = timeStr.split(':');
return +new Date(0, 0, 0, hour, minute, second);
}
const obj = {
startTime: '13:0:0',
stopTime: '14:0:0',
__ob__: new Observer(),
get startTime() {
return this.__ob__.value.startTime;
},
set startTime(val) {
this.__ob__.value.startTime = val;
},
get stopTime() {
return this.__ob__.value.stopTime;
},
set stopTime(val) {
this.__ob__.value.stopTime = val;
},
};
const startTimestamp = getTimeStamp(obj.startTime);
const stopTimestamp = getTimeStamp(obj.stopTime);
const zeroTimestamp = getTimeStamp('0:0:0');
const oneTimestamp = getTimeStamp('1:0:0');
if (startTimestamp >= zeroTimestamp && stopTimestamp <= oneTimestamp) {
console.log('在0点到1点之间');
} else {
console.log('不在0点到1点之间');
}
```
__ob__: Observer
__ob__: Observer是Vue.js中的一个内部属性,用于观察数据的变化并更新视图。 在Vue.js中,每个组件都会有一个名为__ob__的Observer对象,它负责监听数据的变化并在必要时更新视图。这个属性是不可枚举的,所以在访问对象的属性时会返回undefined。 在一些特定的情况下,我们可能需要获取对象本身而不包含__ob__: Observer属性。可以使用JSON.parse(JSON.stringify(obj))来获取对象的副本,这样副本中就不会包含__ob__: Observer属性了。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [关于 Vue “__ob__:Observer“ 属性的解决方案](https://blog.csdn.net/qq_60353088/article/details/125580345)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [【 javascript】获取数组 或者 对象本身,去除__ob__: Observer](https://blog.csdn.net/weixin_55846296/article/details/124272856)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [浏览器控制台日志是[{…}, __ob__: Observer] 这个是什么意思](https://blog.csdn.net/weixin_35751412/article/details/129068857)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]