Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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 - Fatal编程技术网

数组值不同步-Javascript

数组值不同步-Javascript,javascript,arrays,Javascript,Arrays,我有以下推送警报的代码。但有趣的是,当它通过closeAlert()时,showAlert()中的this.alerts和local alerts在产生差异后不会同步这些值 public showAlert(containerName: string, alertType: string, message: string, dismissTimeout?: number): void { var alerts = this.alerts; var alert = <ICu

我有以下推送警报的代码。但有趣的是,当它通过closeAlert()时,showAlert()中的this.alerts和local alerts在产生差异后不会同步这些值

public showAlert(containerName: string, alertType: string, message: string, dismissTimeout?: number): void {
    var alerts = this.alerts;

    var alert = <ICustomAlert>{
        dismissTimeout: dismissTimeout,
        message: message,
        type: alertType,
        container: containerName
    };

    if (_.findWhere(alerts, <ICustomAlert>{ message: message, type: alertType, container: containerName })) {
        this.closeAlert(containerName);
    }

    alerts.push(alert);
}

public closeAlert(containerName: string = "default", index?: number): void {
    var alerts = this.alerts;
    var withoutList = _.where(alerts, { container: containerName });

    if (angular.isDefined(index)) {
        withoutList = withoutList.splice(index, 1);
    }

    this.alerts = _.difference(alerts, withoutList);   
}
我想了解为什么当我们只使用alerts.push-in showAlert()时阵列没有同步。谢谢

this.alerts.push(alert);