是否有一种方法来替换自定义搜索的数组结果中的值?



我试图在搜索中替换值。创建带有过滤器的函数。过滤器返回一个或多个对象,我将它们存储在一个数组中。在访问数组时,我想用0替换某个值,如果某个字段'lastinv'为空。下面是我的代码;

// a is lastinv
if (a == null || a == '') {
todate = format.format({
value: todate,
type: format.Type.DATE
});
// creates a custom search on a record with specific filters
var reading = search.create({
type: 'customrecord_ew_meterreading_form',
columns: ['name', 'id', 'custrecord_ew_mr_metername', 'custrecordmeternumber', 'custrecord_ew_mr_site', 'custrecord1', 'custrecord_ew_meterreading_value'],
filters: [{
name: 'custrecord_ew_mr_site',
operator: search.Operator.IS,
values: site
}, {
name: 'custrecord1',
operator: search.Operator.ON,
values: todate
}] // end of filter*/
});

// gets a custom search for the readings of a site on the
// firstdate/lastdate of the month and stores in a array called ar_readings 
reading.run().each(function(result) {
ar_reading.push(result);
return true;
});

return ar_reading;
}

下一部分是我尝试替换某个索引上的值;

for (var k = 0; k < firstReading.length; k++) {
ar_mtrdata[k] = new Array();
var l_meternumber = firstReading[k].getValue('custrecordmeternumber');
var mtrdtls = getMeterDetails(l_meternumber);
ar_mtrdata[k][0] = mtrdtls.getValue('itemid'); // Meternumber
if (lastinv == '' || lastinv == undefined || lastinv == null) {
ar_mtrdata[k][2] = 0;
} else {
ar_mtrdata[k][2] = firstReading[k].getValue('custrecord_ew_meterreading_value'); // previous reading
}
/* ... */
}

为什么不在run()中的第一个代码块中提取值呢?每个循环?

你可以把一个有组织的对象推入数组中,数组中已经有你想要的值。

最新更新