Я делаю функцию для преобразования массива и возврата строки, но она работает только в том случае, если я использую традиционную функцию, когда пытаюсь использовать функции со стрелками и запускаю код, покажу мне ошибку ниже:
Невозможно получить доступ к 'convertStringToForm' до инициализации
Мой код:
const convertStringToForm = (array) => {
var stringOfArray = ""
for(let i=0; i<array.length; i++){
stringOfArray += "{"id":" + array[i]['id'] + ","descricao":"" + array[i]['descricao'] + ""}";
if(i < (array.length - 1))
stringOfArray += ",";
}
return stringOfArray;
}
function addPergunta(ev, categoria, tipo){
let tipoConvertido = convertStringToForm(tipo);
console.log(tipoConvertido);
}
Позвольте мне немного объяснить, что я делаю, у меня есть массив из PHP и отправить его в Javascriptчерез функцию, а затем внутри функции javascript я использую «for» для передачи этой информации, обработанной на мой взгляд.
Я получу этот массив ниже:
[
{"id":1,"descricao":"Influente","created_at":null,"updated_at":null},
{"id":1,"descricao":"Influente","created_at":null,"updated_at":null},
]
Если я верну это моемувид, то он не отображается, страница показывает мне [Object Object] [Object Object], если кто-то знает лучший способ решить эту проблему, я буду благодарен.Чтобы решить проблему, я создаю функцию "convertStringToForm", эта функция возвращает строку, обработанную, как показано ниже:
{"id":" + 2 + ","descricao":"" + someText + ""},
{"id":" + 2 + ","descricao":"" + someText + ""}
Я хочу знать, как использовать функции со стрелками вместо традиционных функций, приведенный ниже код работает нормально.
function convertStringToForm(array) {
var stringOfArray = ""
for(let i=0; i<array.length; i++){
stringOfArray += "{"id":" + array[i]['id'] + ","descricao":"" + array[i]['descricao'] + ""}";
if(i < (array.length - 1))
stringOfArray += ",";
}
return stringOfArray;
}
function addPergunta(ev, categoria, tipo){
let tipoConvertido = convertStringToForm(tipo);
console.log(tipoConvertido);
}
Ниже я объясню вопрос лучше.
Итак, я попытался использовать JSON.parse (), но не сработал.Как @SomeshMukherjee сказал, что моя точка зрения не является синтаксисом, я просто спрашиваю, зачем выдвигать эту ошибку на моем экране, когда я пытаюсь вызвать функцию стрелки внутри другой функции.
У меня есть эта кнопка на моей странице:
<button onclick="addResposta(this, {{App\Tipo::all()}} )" id="btnaddResposta" type="button" class="btn btn-primary"> Text </button>
{{App \ Tipo :: all ()}} Вот так я получаю свой массив из PHP / Laravel.
Моя функция создает этокогда я нажимаю на эту кнопку:
<button type="button" onClick="return addPergunta(this, {{App\Categoria::all()}}, {{App\Tipo::all()}} )" class="btn btn-primary"><i class="fas fa-plus-circle"></i> Adicionar Pergunta</button>
Проблема в том, что если в моей функции я делаю что-то вроде
html +="<button onclick='addResposta(this," + tipo + ")' id='btnaddResposta' type='button' class='btn btn-primary'>";
, то получаю это, когда проверяю свой код:
<button onclick="addResposta(this, [Object Object] [Object Object])" id="btnaddResposta" type="button" class="btn btn-primary"> Text </button>
Итак, чтобы решить эту проблему, я создал функцию, которая преобразует объект в нужную мне строку, затем моя кнопка получает правильный массив и выглядит так:
<button onclick="addResposta(this, [{"id":1,"descricao":"Influente","created_at":null,"updated_at":null},{"id":2,"descricao":"Conforme","created_at":null,"updated_at":null},{"id":3,"descricao":"Dominante","created_at":null,"updated_at":null},{"id":4,"descricao":"Est\u00e1vel","created_at":null,"updated_at":null}] )" id="btnaddResposta" type="button" class="btn btn-primary">
Причина, по которой я сделал этовопрос в том, что я хочу лучше понять функции стрелок, если я нарушаю какие-либо правила сообщества, прошу прощения за это, я новичок здесь.
Спасибо за все ответы.# Мир