В AS3: У меня длинный текст в массиве.как искать конкретное слово в огромном массиве?
var myHugeArray:Array = ["I love Apple
I have an Iphone
I eat a Banana
I'm John
I sell a computer
I sell an Apple
I love rock
I sell a car"];
Как я могу найти конкретные слова? (Как: покажите мне предложения со словом "яблоко") -> выход: "Я люблю Apple" и "Я продавать Apple"
Спасибо,
EDIT
Вот что я сделал до сих пор:
loader5.load(urlReq);
loader5.addEventListener(Event.COMPLETE,completeHandler2);
function completeHandler2(event:Event):void{
loader5.removeEventListener(Event.COMPLETE,completeHandler2);
trace("Données envoyées");
feedbackText.text = "Données envoyées";
loader5.load(urlReq);
loader5.addEventListener(Event.COMPLETE, complete);
}
function complete(e:Event):void {
addChild(list);
products = JSON.parse(loader5.data) as Array;
feedbackText.text = "complete";
for(var i:int = 0; i < products.length; i++){
createListItem(i, products[i]);
}
showList();
}
function createListItem(index:int, item:Object):void {
var listItem:TextField = new TextField();
listItem.text = item.title;
listItem.addEventListener(MouseEvent.CLICK, function(e:MouseEvent):void {
showDetails(item);
});
list.addChild(listItem);
str = item.title;
bar();
}
function bar(){
var arr: Array ;
searchBar.type = TextFieldType.INPUT;
var suggested:Array = new Array();
var textfields:Array = new Array();
searchBar.addEventListener(Event.CHANGE, suggest);
arr = str.split(",");
trace(arr);
function suggest(e:Event):void
{
suggested = [];
for (var i:int = 0; i < textfields.length; i++)
{
removeChild(textfields[i]);
}
textfields = [];
for (var j:int = 0; j < arr.length; j++)
{
if (arr[j].indexOf(searchBar.text.toLowerCase()) != -1)
{
var term:TextField = new TextField();
term.width = 360;
term.height = 24;
term.x = 18;
term.y = (24 * suggested.length) + 135;
term.border = true;
term.borderColor = 0x353535;
term.background = true;
term.backgroundColor = 0xFF9900;
term.textColor = 0x4C311D;
term.defaultTextFormat = format;
addChild(term);
suggested.push(arr[j]);
term.text = arr[j];
}
}
function showList():void {
list.visible = true;
}
function showDetails(item:Object):void {
titleTxt.htmlText = item.title;
detailsTxt.htmlText = "<U>prix:</U> " + item.prix + " xpf"+ "\n\n<U>Description:</U> " + "\n"+item.theDescription + "\n"+"\n\n<U>Contact:</U> " + item.mail+ "\n"+item.phone;
}
Итак, мой AS3 код идти искать переменную PHP с loader5
.
Все изделия, найденные php, помещаются в массив (products
). И создается список всех продуктов. (createListItem
).
Если я нажму на элемент, он покажет мне некоторые детали (цена, описание..etc). Это функция showDetails();
Знаю, что я создал searchBar (автозаполнение). Создан массив (arr
), который разделяет строку (str
).
Затем он делает то, что он делает для поиска по массиву.
Проблемы: 1/Причудливо, не все слова отображаются в моем поискеБар. Некоторые слова работают, другие нет. 2/Как мне сделать, чтобы вызвать функцию showDetails()
, когда пользователь нажимает на подсказку term
? (term.addEventListener (MouseEvent.CLICK, showDetails)); не работает как terms
не item.title
. ShowDetails
показывает детали item.title
. (так как я могу сказать, что term
= item.title
?)
3/Вы видите путь, более простой?
Я ничего не могу найти в Google. Я только нахожу некоторые коды, чтобы найти слово, но не для того, чтобы получить полное предложение. – user3094896
Здесь я редактировал свой пост. Код немного уродлив, поэтому я попросил метод, не показывая мой код раньше. – user3094896