From: Dmitry Volyntsev Date: Wed, 27 Nov 2019 13:51:29 +0000 (+0300) Subject: Improved Array.prototype.includes(). X-Git-Tag: 0.3.8~43 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=819470ca2735cf6d57eab271ed1544b86c891811;p=njs.git Improved Array.prototype.includes(). --- diff --git a/src/njs_array.c b/src/njs_array.c index bf3dee56..1be358d0 100644 --- a/src/njs_array.c +++ b/src/njs_array.c @@ -1886,21 +1886,7 @@ njs_array_handler_includes(njs_vm_t *vm, njs_array_iterator_args_t *args, entry = njs_value_arg(&njs_value_undefined); } - if (njs_values_strict_equal(args->argument, entry)) { - njs_set_true(&vm->retval); - - return 1; - } - - return NJS_OK; -} - - -static njs_int_t -njs_array_handler_includes_nan(njs_vm_t *vm, njs_array_iterator_args_t *args, - njs_value_t *entry, uint32_t n) -{ - if (njs_is_numeric(entry) && isnan(njs_number(entry))) { + if (njs_values_same_zero(args->argument, entry)) { njs_set_true(&vm->retval); return 1; @@ -1953,17 +1939,9 @@ njs_array_prototype_includes(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, iargs.from = (uint32_t) from; iargs.to = length; - if (njs_is_number(iargs.argument) && isnan(njs_number(iargs.argument))) { - ret = njs_array_iterator(vm, &iargs, njs_array_handler_includes_nan); - if (njs_fast_path(ret == NJS_DECLINED)) { - return NJS_OK; - } - - } else { - ret = njs_array_iterator(vm, &iargs, njs_array_handler_includes); - if (njs_fast_path(ret == NJS_DECLINED)) { - return NJS_OK; - } + ret = njs_array_iterator(vm, &iargs, njs_array_handler_includes); + if (njs_fast_path(ret == NJS_DECLINED)) { + return NJS_OK; } not_found: