Javascript 在文本中搜索术语
此代码的目标是能够在文本框中键入股票代码符号(如AAPL),代码将能够在stocks数组中找到该AAPL,然后将该数组拆分为三个单独的数组[AAPL]、[GOOG/NASDAQ_AAPL]、[Apple Inc]。我怎样才能使这个代码工作Javascript 在文本中搜索术语,javascript,arrays,function,search,split,Javascript,Arrays,Function,Search,Split,此代码的目标是能够在文本框中键入股票代码符号(如AAPL),代码将能够在stocks数组中找到该AAPL,然后将该数组拆分为三个单独的数组[AAPL]、[GOOG/NASDAQ_AAPL]、[Apple Inc]。我怎样才能使这个代码工作 我不明白你为什么要构建你的股票数据,这样你就不得不进行混乱的迭代和拆分。既然您知道需要通过股票代码符号检索股票,为什么不创建一个以符号为键的股票对象呢?此外,在我看来,这些数据更适合对象属性,而不是使用单个字符串来保存各种股票属性ticker、exchange
我不明白你为什么要构建你的股票数据,这样你就不得不进行混乱的迭代和拆分。既然您知道需要通过股票代码符号检索股票,为什么不创建一个以符号为键的股票对象呢?此外,在我看来,这些数据更适合对象属性,而不是使用单个字符串来保存各种股票属性ticker、exchange和name。例如:
$('#test').submit(function (event) {
var stocks = [
["STI,GOOG/NYSE_STI,SunTrust Banks"],
["AAPL,GOOG/NASDAQ_AAPL,Apple Inc"]
];
var symbol = $("#textbox").val();
var count = 0
for (var i = 0; i < stocks.length; i++) {
if (stocks[i][0][0] == symbol[0]) {
for (var j = 0; j < symbol.length; j++) {
if (stocks[i + j]) {
count++
}
}
}
if (count == symbol.length) {
var company = stocks[i][0]
var companynocomma = company.split(",");
var ticker = companynocomma[0];
var exchange = companynocomma[1];
var name = companynocomma[2];
$('#GDP').append('<li>' + ticker + '</li>');
$('#GDP').append('<li>' + exchange + '</li>');
$('#GDP').append('<li>' + name + '</li>');
}
}
event.preventDefault();
})
通过这种方式,获取股票及其属性变得更加简单:
var stocks = {
'aapl': {
'ticker': 'AAPL',
'exchange': 'GOOG/NASDAQ_AAPL',
'name': 'Apple Inc'
},
'sti': {
'ticker': 'STI',
'exchange': 'GOOG/NYSE_STI',
'name': 'SunTrust Banks'
}
};
是否要验证数组中是否存在键入的符号?是,然后在验证后将该数组拆分为三个单独的数组@Vladkras此代码应满足您的要求。var stocks=[[STI,GOOG/NYSE_STI,SunTrust Bank],[AAPL,GOOG/NASDAQ_AAPL,Apple Inc]],symbol='AAPL',wrapInArray=函数项{return[item];},结果;stocks.somefunction arr{if arr[0].indexOfsymbol!=-1返回结果=arr[0].split','.maprapinArray;};console.logresult;不清楚您想通过代码做什么。股票[i][0]和符号[0]也是字符串,您想将它们的第一个字符由anthor[0]替换吗?如果股票?什么是RU检查?我从一个json文件中获取数据,该文件给了我这样的股票信息,所以我认为我不能使用对象来实现这一点。AAQ_AX、雅虎/ASX_AAQ_AX、AAQ控股有限公司AIR、GOOG/NYSE_AIR、AAR Corp.ARZ、GOOG/FRA_ARZ、AAR Corp.DL 1 AAALF、GOOG/PINK_AAALF、AAREAL BANK AG AALY、GOOG/PINK_AALY、AAREAL BANK ARL、GOOG/FRA_ARL、AAREAL BANKAG@vladkras:如果有库存!==undefined@user3380357:加载json文件时,您不能解析json数据并构建stocks对象吗?另外,最好的方法是以不同的方式排列stocks[]。这太乏味了。正如@user3397771所说,你可以创建你的股票[]
var stock = stocks[$("#textbox").val().toLowerCase()];
if (stock) {
$('#GDP').append('<li>' + stock.ticker + '</li>');
$('#GDP').append('<li>' + stock.exchange + '</li>');
$('#GDP').append('<li>' + stock.name + '</li>');
}
try this.
var stocks = [
["STI,GOOG/NYSE_STI,SunTrust Banks"],
["AAPL,GOOG/NASDAQ_AAPL,Apple Inc"]
];
var symbol = $("#textbox").val();
for (var i = 0; i < stocks.length; i++) {
if(stocks[i][0].match(symbol)) {
var company = stocks[i][0];
var companynocomma = company.split(",");
var ticker = companynocomma[0];
var exchange = companynocomma[1];
var name = companynocomma[2];
console.log(companynocomma);
$('#GDP').append('<li>' + ticker + '</li>');
$('#GDP').append('<li>' + exchange + '</li>');
$('#GDP').append('<li>' + name + '</li>');
}
}