导出数组以在另一个 javascript 文件中使用

Posted

技术标签:

【中文标题】导出数组以在另一个 javascript 文件中使用【英文标题】:Export array to be used in another javascript file 【发布时间】:2019-06-29 03:17:15 【问题描述】:

在我的 post 请求中,我想检查 thisString 是否存在于另一个 javascript 文件数组中。

Array.js

exports.names = [
    'John',
    'Mary'
]

Main.js

if (names.includes(thisString)) 
    ...do stuff...

如果thisString = MaryMain.js 返回“未定义”。如果我 console.log(names) 它返回数组。但是console.log(names[0]) 是未定义的。如果我将数组复制并粘贴到 Main.js 文件中,它会按预期工作。

我想将数组放在另一个文件中,只是为了稍微清理一下。但是我做错了什么?

【问题讨论】:

你在 Main.js 中哪里导入了names 您的导入/导出语句是什么? const names = require('../array'); @John107 Array.js 是否在 Main.js 上方的文件夹中? @Leo 是的....这是个问题吗?我想从多个文件中访问它。 【参考方案1】:

打字稿:

数组.ts

export let array = [1,2,3];

Main.ts

import array from "./Array.ts"
array.map(item => console.log(item +1))

Javascript (nodejs)

array.js

exports.array =  [1,2,3];

main.js

let module = require('./array.js');

let array = module.array;

array.map(item => console.log(item +1))

【讨论】:

【参考方案2】:

以下内容对我有用。你也可以试试:

Array.js

exports.names = [
    'John',
    'Mary'
]

Main.js

const data = require('./array.js');

const thisString = 'Mary';
if (data && data.names && data.names.includes(thisString)) 
    console.log('You are in!');

【讨论】:

这“应该”工作,但在我的应用程序中返回 undefined。我不确定为什么。 奇怪!在我的解决方案中,我假设您的 array.jsmain.js 在同一个文件夹中,否则您需要修改导入路径。 是的,这很奇怪!我有 array.js 的正确路径,所以我不确定出了什么问题。

以上是关于导出数组以在另一个 javascript 文件中使用的主要内容,如果未能解决你的问题,请参考以下文章

Powershell 问题 - 寻找最快的方法来遍历 500k 个对象以在另一个 500k 对象数组中寻找匹配项

如何将我在 EditText 框中键入的数据添加到数组中以在另一个活动中列出?

如何在javascript中使作为数组元素的对象为空[重复]

在Javascript中使数组中的所有数字成为绝对值[关闭]

从循环存储用户输入以在另一种方法中进行进一步操作的最佳方法

Django提取值并在另一个页面中使它们成为占位符