Javascript 在循环中连接内容文件
我想循环一个权利列表,并创建一个连接的json数组。 我想循环几个数据数组,并连接用户有权使用的数据数组Javascript 在循环中连接内容文件,javascript,Javascript,我想循环一个权利列表,并创建一个连接的json数组。 我想循环几个数据数组,并连接用户有权使用的数据数组 const ROOSEVELT = require("./content/roosevelt") // these are .js arrays const AMBITION = require("./content/ambition") const CHAUCER = require ("./content/chaucer") // beginning main function exp
const ROOSEVELT = require("./content/roosevelt") // these are .js arrays
const AMBITION = require("./content/ambition")
const CHAUCER = require ("./content/chaucer")
// beginning main function
exports.function = function (searchTerm, searchAuthor, searchQOTD) {
var entitlements = GET_REMOTE.checkEntitlements()
// returns json ["ROOSEVELT", "AMBITION", "CHAUCER"] from API server
var entitled_content = [] //empty target array
entitlements.forEach(function(item, array)
// loop over the list of entitlements
{ //this is where I want to concatenate the constants
// ROOSEVELT, AMBITION, and CHAUCER
// I need a one liner that adds each constant to the entitled_content array.
;});
// main function continues
您需要允许通过字符串的方式查找您的导入,因为
checkauthorights()
返回的是字符串
一种简单的方法是将此导入添加到查找
对象:
const ROOSEVELT = require("./content/roosevelt") // these are .js arrays
const AMBITION = require("./content/ambition")
const CHAUCER = require ("./content/chaucer")
const lookup = {
ROOSEVELT: ROOSEVELT,
AMBITION: AMBITION,
CHAUCER: CHAUCER
};
这样做的缺点是,您可以手动维护查找
对象。如果希望根据导入的文件自动生成此对象,可以使用NPM模块,例如,它将返回此对象供您直接使用
const requireDir = require('require-dir');
const lookup = requireDir('./content');
接下来,当您在字符串数组中循环时,我认为您希望标题为内容的是一个平面列表。如果是这样,函数就是您想要的
否则,您只需将数据附加到数组中
const ROOSEVELT = require('./content/roosevelt'); // these are .js arrays
const AMBITION = require('./content/ambition');
const CHAUCER = require('./content/chaucer');
const lookup = {
ROOSEVELT,
AMBITION,
CHAUCER,
};
exports.function = function(searchTerm, searchAuthor, searchQOTD) {
// returns json ["ROOSEVELT", "AMBITION", "CHAUCER"] from API server
var entitlements = GET_REMOTE.checkEntitlements();
var entitled_content = [];
entitlements.forEach(function(item) {
if (lookup[item]) {
entitled_content = entitled_content.concat(lookup[item]);
}
});
};
请确定您想要的标题内容在JS语法中是什么样子,json数组这个词让我有点困惑[{tags:[“roosevelt]”,文本:“幸福不是目标;它是副产品。--Eleanor roosevelt”,image:{url:“images/”}}]这在第二个roosevelt“SyntaxError:无效对象初始值设定项”中产生了一个错误。Google似乎建议查找对象应该是一个键值对?我使用的是ES6符号,它允许您放弃冒号/值。如果您的节点环境不支持此功能,则可以使用旧语法。我已经编辑了上面的文章,使用了旧的语法。有关更多示例,请参见。