【问题标题】:How could i get the result as trie format? object to string format from this code.我怎样才能得到 trie 格式的结果?对象从此代码中的字符串格式。
【发布时间】:2023-04-02 02:48:01
【问题描述】:

我的预期输出是 ["Mark", "Mary", "Martod", "Mariam", "Marg"]

在控制台中获取输出是 ["Mark", "Mary", "Mart", "Mari", "Marg"]

我怎样才能从这段代码中得到我预期的结果?谁能帮我做这个?

function get_suggestion_array_from_object(searchstring, current_object) {
    var suggestion_array = [];
    suggestion_array.push(searchstring);
    // console.log(suggestion_array);
    append_object_key(suggestion_array, current_object);
}

var test_searchstring = 'Mar';
var test_current_object_string = '{"k":0,"y":0,"t":{"o":{"d":0}},"i":{"a":{"m":0}},"g":0}';
var test_current_object = JSON.parse(test_current_object_string);
console.log(test_current_object);
get_suggestion_array_from_object(test_searchstring, test_current_object);


function append_object_key(suggestion_array, current_object) {
    var keys = Object.keys(current_object);
    // CONCATENATE WITH SUGGESTION ARRAY ELEMENTS
    var new_suggestion_array = [];
    for (var i = 0; i < keys.length; i++) {
        var current_key = keys[i];
        var array_to_push = suggestion_array.slice();
        for (var j = 0; j < suggestion_array.length; j++) {
            array_to_push[j] = array_to_push[j] + current_key;
        }
        new_suggestion_array = new_suggestion_array.concat(array_to_push);

    }
    console.log(new_suggestion_array);

}

【问题讨论】:

  • [ "Mark","Mary","Mart","Mari","Marg"] 是控制台输出
  • @Boy With Silver Wings ["Mark", "Mary", "Martod", "Mariam", "Marg"] 这是预期的输出,但我得到了这个 ["Mark","Mary" ,"Mart","Mari","Marg"].

标签: javascript arrays object trie


【解决方案1】:

有几种方法:

const get_suggestion_array_from_object = (searchstring, current_object_string) =>
  current_object_string
    .split(/[^a-z]+0[^a-z]+/)
    .reduce((a, e) => e && a.concat(searchstring + e.replace(/[^a-z]+/g, '')) || a, [])

let searchstring = 'Mar';
let current_object_string = '{"k":0,"y":0,"t":{"o":{"d":0}},"i":{"a":{"m":0}},"g":0}';

console.log(get_suggestion_array_from_object(searchstring, current_object_string));

...

var test_searchstring = 'Mar';
var test_current_object_string = '{"k":0,"y":0,"t":{"o":{"d":0}},"i":{"a":{"m":0}},"g":0}';
var test_current_object = JSON.parse(test_current_object_string);

function get_suggestion_array_from_object(s, o) {
  return Object.keys(o).map(function(k) {
    var e = k;
    var no = o[k];
    while (no) {
      var nk = Object.keys(no)[0];
      e += nk;
      no = no[nk];
    }
    return s + e;  
  })
}

console.log(get_suggestion_array_from_object(test_searchstring, test_current_object))

【讨论】:

  • 这不是我想要的。你能对我的代码这样做吗?非常感谢科什
猜你喜欢
  • 2013-02-14
  • 2023-01-19
  • 1970-01-01
  • 2013-02-28
  • 2022-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多