我正在编写一些要在多维数组上运行的函数,但无法弄清楚如何保存结果以在程序的其他位置使用它(在一个函数中的数组所在的位置)保存的是本地的,而不是全局的。
比方说,有一个对象数组:
$this->crud->addfield([
'label' => 'Price',
'name' => 'price',
'tab' => 'Prices',
'type' => 'number',
'entity' => 'product',
'model' => 'App\Models\Product'
]);
然后我可以定义一个函数并调用它(一个数组将被打印到控制台上)
const objects = [
['objectname', objectAge, anotherValue],
['objectname2', objectAge2, anotherValue2],
['objectname3', objectAge3, anotherValue3]
];
但是,当我想使用返回的数组并对其进行其他操作(比如说另一个函数)时,我正在尝试将“结果”(我认为是数组)保存到新数组或访问中
直接const objects = [
['objectname', objectAge, anotherValue],
['objectname2', objectAge2, anotherValue2],
['objectname3', objectAge3, anotherValue3]
];
function functionName(array) {
let objectNames = array.map(function(object) {
return object[0];
});
console.log(objectNames);
}
functionName(objects);
let currentTime = new Date()
let YYYY = (new Date()).getFullYear()
function functionAge(object) {
let ageArray = object.map(function(year) {
let age = YYYY - year[1];
return age;
})
console.log(ageArray);
}
functionAge(objects);
let array1 = ['Name1', 'Name2', 'Name3'],
array2 = [12,11,16],
result =[];
for (let i=0; i< array1.length;i++) {
result.push([array1[i],array2[i]]);
}
console.log(result);
let array3 = functionName(objects);
let array4 = functionAge(objects),
result2 =[];
for (let i=0; i< array3.length;i++) {
result.push([array3[i],array4[i]]);
}
console.log(result2);
或
let savedResult = functionName(objects);
并且它不起作用,我要么得到一些未定义的数组,要么在控制台中看到一个错误,提示无法调用saveResult.length。
有人可以给我一个提示,在这里我可以检查JavaScript选项以重用应用于数组的函数的结果吗?
答案 0 :(得分:0)
返回对象[0] 为 objectNames 变量赋值。但是 functionName 函数不会随它一起返回。因此它返回“未定义”。
function functionName(array) {
return array.map(function(object) {
return object[0];
})
}
functionName(objects);
答案 1 :(得分:0)
您的函数functionName()是一个空函数,它不会返回任何内容,因此结果是不确定的。使用return语句为该函数返回东西,如下面的代码
function functionName(array) {
let objectNames = array.map(function(object) {
return object[0];
});
return objectNames
}