Javascript 使用下划线.js';s使用lastIndexOf调用

Javascript 使用下划线.js';s使用lastIndexOf调用,javascript,invoke,underscore.js,Javascript,Invoke,Underscore.js,我有一根绳子。(输入) “ABC” 分成一个数组。(输入缓冲区) ['A'、'B'、'C'] 我还得到了一个包含任意字符的数组。(触发器) ['D','E'] 我想检查InputBuffer中的最后一项,看看是否匹配任何TriggerChar 我想获取InputBuffer中最后出现的两个TriggerChar // Why doesn't this: _.invoke(['D','C'], 'lastIndexOf', ['A','B','C']) // Return this: [-1,2

我有一根绳子。(输入)

“ABC”

分成一个数组。(输入缓冲区)

['A'、'B'、'C']

我还得到了一个包含任意字符的数组。(触发器)

['D','E']

我想检查InputBuffer中的最后一项,看看是否匹配任何TriggerChar

我想获取InputBuffer中最后出现的两个TriggerChar

// Why doesn't this:
_.invoke(['D','C'], 'lastIndexOf', ['A','B','C'])

// Return this:
[-1,2]?
我在调用中没有得到什么?

如果这样,则计算为
true
:我要检查InputBuffer中的最后一项,以查看是否匹配任何TriggerChar

如果这样,则计算为
true
:我要检查InputBuffer中的最后一项,以查看是否匹配任何TriggerChar

或者跳过下划线,除了依赖项之外,与上面的解决方案完全相同

好的,我更新了一点

var inputBuffer = ["A","B","C"];  
var triggerChars = ["D","E"];

triggerChars.indexOf(inputBuffer[inputBuffer.length-1]) > -1
var-inputBuffer=[“A”、“B”、“C”];
变量triggerChars=[“D”,“C”];
var指数=[];
对于(变量i=0;i [-1,2]
或者跳过下划线,除了依赖项之外,与上面的解决方案完全相同

好的,我更新了一点

var inputBuffer = ["A","B","C"];  
var triggerChars = ["D","E"];

triggerChars.indexOf(inputBuffer[inputBuffer.length-1]) > -1
var-inputBuffer=[“A”、“B”、“C”];
变量triggerChars=[“D”,“C”];
var指数=[];
对于(变量i=0;i [-1,2]
您需要的是:

var inputBuffer = ["A","B","C"];  
var triggerChars = ["D","C"];  

var index = [];

for(var i = 0; i < triggerChars.length; i++){
   index.push(inputBuffer.lastIndexOf(triggerChars[i]));
}

console.log(index);

-> [-1,2]
您需要的是:

var inputBuffer = ["A","B","C"];  
var triggerChars = ["D","C"];  

var index = [];

for(var i = 0; i < triggerChars.length; i++){
   index.push(inputBuffer.lastIndexOf(triggerChars[i]));
}

console.log(index);

-> [-1,2]

在我看来,下划线似乎不在数组上迭代,而是将其视为“单个”参数?调用(['D','E','lastIndexOf',['A','B','C'])也可能为false。在我看来,下划线似乎不在数组上迭代,而是将其视为“单个”参数?调用(['D','E','lastIndexOf',['A','B','C'])也可能为false。Oups!我想写一件事,但写了一些非常不同的东西。很抱歉我想获取InputBuffer.Oups中最后出现的两个触发器字符!我想写一件事,但写了一些非常不同的东西。很抱歉我想获取InputBuffer中最后出现的两个触发器。非常抱歉。我想写一件事,又写了另一件事。我想获取InputBuffer中最后出现的两个触发器字符。谢谢!我将使用下划线版本,因为我在项目中已经有了它。非常抱歉。我想写一件事,又写了另一件事。我想获取InputBuffer中最后出现的两个触发器字符。谢谢!我将使用它的下划线版本,因为我在项目中已经有了它。
_.map(['D', 'C'], function (x) { return _.lastIndexOf(['A', 'B', 'C'], x)})