从必需的文件扩展 Node.js 中的 Array.prototype

2023-11-21

我将以下内容保存在 test.js 中。它成功地在浏览器中扩展了Array,但它似乎不适用于node和require。有人可以解释这里出了什么问题吗?

(function() {

Array.prototype.max = function() {
  return console.log("Array.prototype.max");
};
return Array.max = function() {
  return console.log("Array.max");
};

}).call(this);

然后,从终端:

> My-MacBook-Pro: me$ node
> var test = require("./test")
> [1,2,3].max()
TypeError: Object 1,2,3 has no method 'max'
    at [object Context]:1:9
    at Interface.<anonymous> (repl.js:171:22)
    at Interface.emit (events.js:64:17)
    at Interface._onLine (readline.js:153:10)
    at Interface._line (readline.js:408:8)
    at Interface._ttyWrite (readline.js:585:14)
    at ReadStream.<anonymous> (readline.js:73:12)
    at ReadStream.emit (events.js:81:20)
    at ReadStream._emitKey (tty_posix.js:307:10)
    at ReadStream.onData (tty_posix.js:70:12)
> Array.max()
TypeError: Object function Array() { [native code] } has no method 'max'
    at [object Context]:1:7
    at Interface.<anonymous> (repl.js:171:22)
    at Interface.emit (events.js:64:17)
    at Interface._onLine (readline.js:153:10)
    at Interface._line (readline.js:408:8)
    at Interface._ttyWrite (readline.js:585:14)
    at ReadStream.<anonymous> (readline.js:73:12)
    at ReadStream.emit (events.js:81:20)
    at ReadStream._emitKey (tty_posix.js:307:10)
    at ReadStream.onData (tty_posix.js:70:12)

您可以创建一个包含扩展名的文件:

array.extensions.js

if(!Array.prototype.Last){
    Array.prototype.Last = function(){
        return this.slice(-1)[0];
    }
}

if(!Array.prototype.First){
    Array.prototype.First = function(){
        return this[0];
    }
}

然后将此文件包含到您的启动文件中。

app.js:

require('{path}/array.extensions');
var express = require('express');
/* rest of your code */

在启动时引用此文件一次就足以使用...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从必需的文件扩展 Node.js 中的 Array.prototype 的相关文章

  • 将 SVG 路径转换为绝对命令

    给定一个 SVG Path 元素 如何将所有路径命令转换为绝对坐标 例如 转换此路径
  • html 图像 src 调用 javaScript 变量

    这是我的代码 我想问 我怎样才能做到这一点 img src img apple 我一直在尝试使用 call 函数和 document onload 但它根本不起作用 有人可以救我吗 我假设你只是想用 javascript 更新图像 src
  • 由于 MIME 类型而导致资源被阻止?

    多年来我已经成功地包含动态创建的 javascript 文件 这是一个例子 https granadainfo com sups php locs 95 https granadainfo com sups php locs 95 正如你所
  • 如何用 JavaScript 修复图像透视变形和旋转?

    我有一些用手机拍摄的图像 有没有可以拉直纸张照片并将其压平的 JavaScript 库 例如 我想创建一个矩形图像 该图像没有任何失真 换句话说我想知道如何用 JavaScript 修复透视变形和旋转 例如 我发现下面的示例图像来自this
  • 纯 JS 相当于 Jquery eq()

    jquery 的纯等价物是什么eq 例如 我怎样才能实现 class1 class2 eq 0 text 1254 在纯 JavaScript 中 要获取数组中的元素索引 可以使用 在 JavaScript 中 因此 要重现您的代码 您可以
  • 在 UIWebView 中禁用复制和粘贴

    几乎 我已经尝试了一切方法来禁用复制 粘贴UIWebView但对我来说没有任何作用 我正在加载我的UIWebView来自字符串 字符串数组 如下所示 webView loadHTMLString NSString stringWithFor
  • 如何防止输入文本中出现“后重音”

    我相信这是一个简单的问题 但在谷歌上搜索几个小时后我找不到任何答案 也许我无法在搜索中使用正确的单词 P 我有一个 javascript 方法 可以防止用户用数字以外的其他字符填充文本框 如下面的代码所示 它在 KeyDown 事件中使用
  • 将项目中的node_modules集中到子项目中

    是否可以以在中心点上拥有所需模块的方式配置 grunt 我有以下项目结构 Project subproject subproject subproject 我通过 grunt 构建项目的所有子项目 并且我也可以为自己构建每个子项目 目前 我
  • 如何在打字稿中使用外部js

    我通过 Typescript 代码生成 Angular JS 代码 在一种情况下 我需要将外部 JS 文件添加到我的打字稿文件中 并且需要访问 js 文件中的类 我像这样添加js文件
  • 在 Chrome 开发者工具中禁用调试器语句

    我正在尝试对恶意 JavaScript 进行逆向工程 当我最初加载侧面时 会注入 JS 代码 其中包括 debugger 语句并将断点注入我的 chrome 开发人员控制台 通过stackoverflow阅读 禁用所有断点does not帮
  • 如何使用公共客户端颁发的令牌查询keycloak资源权限

    我有一个受 keycloak 保护的前端 Javascript 客户端 前端应用程序的 Keycloak 客户端类型为Public并打电话给blog gui 我还有一个受保护的 APIConfidential客户端名为 blog api 其
  • 从请求url获取hash参数

    我有这样的网址 http www coolsite com daily plan id 1 http www coolsite com daily plan id 1解析该字符串并读取哈希值 id 之后的值 的最简单方法是什么 谢谢 在客户
  • 猫鼬中的数组过滤器

    将查询转换为节点 arrayfilter 在 mongoose 中工作的版本或者如何在节点应用程序中运行它们 db getCollection student update id ObjectId 5a377d62d21a3025a3c3a
  • 如何使用 fetch() 和 WhatWG 流获取文件上传进度

    注意 我并不是在寻找任何替代方案 我知道这可以通过 XMLHttpRequest 来完成 我也不关心浏览器支持 我只想了解新的 即将推出的标准 我有一个File https developer mozilla org en US docs
  • 如何在网络服务器中的端口 80 而不是端口 5000 上运行“部署”。

    我正在使用 deployd 运行一个网站 并且在将在端口 5000 上运行的应用程序更改为端口 80 时遇到问题 我想要做的是不要使用 mydomain com 5000 而只想使用 mydomain com 5000 com 谢谢 根据内
  • 如何使用 jQuery 过滤 DropDownList 中的选项

    我有 2 个 DropDownList 第一个 DropDownList 有 4 个选项 第二个 DropDownList 有 20 个选项 我想要一个选项value 1在第一个 DropDownList 中选择我在第二个 DropDown
  • 在 Meteor 应用程序中实现 MongoDB 2.4 的全文搜索

    我正在考虑向 Meteor 应用程序添加全文搜索 我知道 MongoDB 现在支持此功能 但我对实现有一些疑问 启用文本搜索功能的最佳方法是什么 textSearchEnabled true 在 Meteor 应用程序中 有没有办法添加索引
  • javascript:完全删除top.location.hash?

    如果我的地址栏中已经有一个哈希值 例如domain com whatever 我打电话 top location hash wathever 被转换为domain com 没有任何内容 是否可以完全删除哈希值 所以没有 left 因为如果我
  • 在 Firestore 文本字段中存储文本文件并删除换行符

    我正在尝试将 CSV 文件存储在 Cloud Firestore 内的文本字段中 然而 Firestore 正在删除所有换行符并将整个 CSV 文件存储为一行 这Firestore 数据类型文档 https firebase google
  • 使用
    元素作为 JavaScript 代码的输入。这是最好的方法吗?

    各位 显然 我是编码新手 所以最近完成了一些有关 HTML 和 Javascript 的 Lynda 课程后 我的简单 HTML 页面遇到了困难 基本上 我想要的是使用 JavaScript 进行基本计算 让用户使用 HTML 输入两个数字

随机推荐

  • AngularJS [$injector:unpr] 未知提供者

    我正在尝试将服务注入控制器 但出现以下错误 Error injector unpr Unknown provider employeeServiceProvider lt employeeService http errors angula
  • PHP 对象与数组——迭代时的性能比较

    我有大量用于神经网络的 PHP 对象 我必须对其进行迭代并执行一些数学运算 我想知道在类实例上使用关联数组是否会更好 我正在处理周围3640对象并迭代500次 最多 因此任何微观优化都有很大帮助 这样做必然会更快吗 object value
  • PHP 显示来自 MySQL 的图像 BLOB [重复]

    这个问题在这里已经有答案了 我正在尝试显示存储在数据库中 BLOB 列中的图像 我使用 SELECT 从数据库中获取数据 不对数据执行任何转换 并使用以下内容显示它 来自唯一输出如下的脚本 header Content Type image
  • Windows Phone 7 关闭应用程序

    是否有可能以编程方式关闭 Windows Phone 7 上的 Silverlight 应用程序 如果您编写 XNA 游戏 您将可以访问显式的Exit 方法 如果您正在编写传统的 Silverlight 项目 那么NO 无法以编程方式关闭您
  • 在 defer 函数内部发生恐慌是否可以,特别是当它已经发生恐慌时?

    func sub defer func panic 2 panic 1 func main defer func x recover println x int sub 我尝试了这段代码 这似乎是第一次恐慌panic 1 只是被第二次恐慌
  • 改造关闭响应体

    我一直收到这个错误 A connection to was leaked Did you forget to close a response body 所以我继续关闭我收到的回复 response body close 问题是 如果 re
  • 与其他禁用的 TextBox 相比,c# TextBox 被禁用时边框会发生变化

    我有一个非常奇怪的问题 我有多个用于用户名 密码的文本框 以及每个用户 密码组旁边的复选框 当用户单击复选框时 如果他选中了它 则其旁边的用户名和密码文本框将被启用 并且焦点将设置为用户名文本框 如果用户取消选中复选框 则其旁边的文本框将被
  • Laravel Blade 使用 $(document).ready 函数

    我正在尝试使用 laravel Blade 模板 包括一些 javascript 代码到子视图中 我有我的邮件应用程序 blade php文件 其中放置 jquery 初始化字符串 在我的子视图文件中设置 blade php我想使用一些 j
  • 实体框架 - 荒谬的查询,将smallint转换为int以进行比较[重复]

    这个问题在这里已经有答案了 这里没有想法了 我有一个简单的表 模型首先与实体框架映射 并生成以下 SQL p linq 0 int p linq 1 int SELECT Extent1 BucketRef AS BucketRef Ext
  • 重复数据框的行

    我正在尝试重复数据框的行 这是我的原始数据 pd DataFrame col1 1 col2 11 col3 1 2 col1 2 col2 22 col3 1 2 3 col1 3 col2 33 col3 1 col1 4 col2 4
  • 获取对父 IFRAME 的引用

    假设我有一个对包含在 IFRAME 内的文档对象的引用 如何获取对容器 IFRAME 的引用 parentNode 和 ownerDocument 都返回 null 请注意 没有可用的上下文信息 例如 window xxx 等解决方案将不起
  • 将移动应用程序同步到 Android Wear

    根据文档 打包可穿戴应用程序我正在使用以下代码 dependencies compile com google android gms play services 5 0 aar compile com android support su
  • Python Pandas - 缺少必需的依赖项 ['numpy'] 1

    从昨天开始 当我尝试在 anaconda 上导入包时出现此错误 ImportError Missing required dependencies numpy 我尝试卸载 Anaconda 和 Python 切换到 Python 2 7 但
  • 在 codeigniter 中调试路由?

    我想知道是否有任何简单的方法可以在 codeigniter 中调试路由 最好我希望能够在日志中看到以下内容 Client sent apps something Route found apps any gt applications se
  • SQL Server:拆分操作

    如何在 SQL Server 中拆分字符串 例子 输入字符串 stack over flow Result stack over flow 如果您不能使用表值参数 请参阅 SQL Server 2008 中使用表值参数的数组和列表 作者 E
  • 是否可以在 Visual Studio 中为动态对象提供智能感知?

    我在项目中使用动态对象 并且我想为该对象提供智能感知 我知道 Visual Studio 无法知道智能感知要显示什么 但如果我可以插入智能感知 我确实知道应该显示哪些条目 有没有办法扩展 Visual Studio 的智能感知 如果是这样
  • Android 测试分片

    谁能解释一下 android 中的测试分片意味着什么 如果有人可以分享任何教程将会非常有帮助 碎片这个词的意思是整体的一小部分 仅凭一个数字如何进行分片 我应该在什么基础上指定 shardIndex 定义如开发人员文档中所示 测试分片 测试
  • 如何在 Eclipse 中编辑 Maven 依赖项中的“.class”文件

    好的 我有我的 Java 项目 在项目资源管理器的 Maven 依赖项项目文件夹下 我遇到了jar文件夹 里面有一个 class文件 现在 我点击了Download Sources我可以查看 class文件作为 Java 文件 但我无法在
  • COM 如何选择如何编组接口?

    据我了解 在 COM 中实现编组的方法有以下三种 类型库编组 代理 存根编组 通过对象实现 IMarshal 现在该组件如何consumer 用户 选择使用哪一个 它是自行决定并使用首选方式 还是调用某些内置函数并为其解决问题 我目前遇到以
  • 从必需的文件扩展 Node.js 中的 Array.prototype

    我将以下内容保存在 test js 中 它成功地在浏览器中扩展了Array 但它似乎不适用于node和require 有人可以解释这里出了什么问题吗 function Array prototype max function return